|
luna-sysmgr-common
|
Go to the source code of this file.
Classes | |
| class | JsonValue |
| class | JsonMessageParser |
| struct | CLSError |
| class | LSMessageJsonParser |
Macros | |
| #define | STR(x) #x |
| #define | STANDARD_JSON_SUCCESS "{\"returnValue\":true}" |
| #define | STANDARD_JSON_ERROR(errorCode, errorText) "{\"returnValue\":false,\"errorCode\":"STR(errorCode)",\"errorText\":\"" errorText "\"}" |
| #define | MISSING_PARAMETER_ERROR(name, type) "{\"returnValue\":false,\"errorCode\":2,\"errorText\":\"Missing '" STR(name) "' " STR(type) " parameter.\"}" |
| #define | INVALID_PARAMETER_ERROR(name, type) "{\"returnValue\":false,\"errorCode\":3,\"errorText\":\"Invalid '" STR(name) "' " STR(type) " parameter value.\"}" |
| #define | IS_SYSTEM_PARAMETER(x) ((x) && *(x) == '$') |
| #define | SYSTEM_PARAMETERS "\"$activity\":{\"type\":\"object\",\"optional\":true}" |
| #define | SCHEMA_ANY "{}" |
| #define | SCHEMA_0 "{\"type\":\"object\",\"properties\":{" SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | SCHEMA_1(param) "{\"type\":\"object\",\"properties\":{" param "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | SCHEMA_2(p1, p2) "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | SCHEMA_3(p1, p2, p3) "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," p3 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | SCHEMA_4(p1, p2, p3, p4) "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," p3 "," p4 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | SCHEMA_5(p1, p2, p3, p4, p5) "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," p3 "," p4 "," p5 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | SCHEMA_6(p1, p2, p3, p4, p5, p6) "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," p3 "," p4 "," p5 "," p6 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | SCHEMA_7(p1, p2, p3, p4, p5, p6, p7) "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," p3 "," p4 "," p5 "," p6 "," p7 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | SCHEMA_8(p1, p2, p3, p4, p5, p6, p7, p8) "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," p3 "," p4 "," p5 "," p6 "," p7 "," p8 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | REQUIRED(name, type) "\"" #name "\":{\"type\":\"" #type "\"}" |
| #define | OPTIONAL(name, type) "\"" #name "\":{\"type\":\"" #type "\",\"optional\":true}" |
| #define | REQUIRED_UNION_2(name, type1, type2) "\"" #name "\":{\"type\":[{\"type\":\"" #type1 "\"},{\"type\":\"" #type2 "\"}]}" |
| #define | NAKED_OBJECT_EMPTY(objName) "\"" #objName "\":{\"type\":\"object\",\"properties\":{" SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | OBJECT_EMPTY(objName) "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define | NAKED_OBJECT_REQUIRED_1(objName, p1, type1) "\"" #objName "\":{\"type\":\"object\",\"properties\":{" REQUIRED(p1, type1) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | OBJECT_REQUIRED_1(objName, p1, type1) "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" REQUIRED(p1, type1) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define | NAKED_OBJECT_OPTIONAL_1(objName, p1, type1) "\"" #objName "\":{\"type\":\"object\",\"properties\":{" OPTIONAL(p1, type1) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | OBJECT_OPTIONAL_1(objName, p1, type1) "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" OPTIONAL(p1, type1) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define | NAKED_OBJECT_REQUIRED_2(objName, p1, type1, p2, type2) "\"" #objName "\":{\"type\":\"object\",\"properties\":{" REQUIRED(p1, type1) "," REQUIRED(p2, type2) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | OBJECT_REQUIRED_2(objName, p1, type1, p2, type2) "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" REQUIRED(p1, type1) "," REQUIRED(p2, type2) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define | NAKED_OBJECT_OPTIONAL_2(objName, p1, type1, p2, type2) "\"" #objName "\":{\"type\":\"object\",\"properties\":{" OPTIONAL(p1, type1) "," OPTIONAL(p2, type2) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | OBJECT_OPTIONAL_2(objName, p1, type1, p2, type2) "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" OPTIONAL(p1, type1) "," OPTIONAL(p2, type2) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define | NAKED_OBJECT_REQUIRED_3(objName, p1, type1, p2, type2, p3, type3) "\"" #objName "\":{\"type\":\"object\",\"properties\":{" REQUIRED(p1, type1) "," REQUIRED(p2, type2) "," REQUIRED(p3, type3) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | OBJECT_REQUIRED_3(objName, p1, type1, p2, type2, p3, type3) "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" REQUIRED(p1, type1) "," REQUIRED(p2, type2) "," REQUIRED(p3, type3) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define | NAKED_OBJECT_OPTIONAL_3(objName, p1, type1, p2, type2, p3, type3) "\"" #objName "\":{\"type\":\"object\",\"properties\":{" OPTIONAL(p1, type1) "," OPTIONAL(p2, type2) "," OPTIONAL(p3, type3) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define | OBJECT_OPTIONAL_3(objName, p1, type1, p2, type2, p3, type3) "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" OPTIONAL(p1, type1) "," OPTIONAL(p2, type2) "," OPTIONAL(p3, type3) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define | DEPRECATED_SERVICE_MSG() g_critical("THIS METHOD IS DEPRECATED. PLEASE REVISIT THE CODE.") |
| #define | VALIDATE_SCHEMA_AND_RETURN_OPTION(lsHandle, message, schema, schErrOption) |
| #define | VALIDATE_SCHEMA_AND_RETURN(lsHandle, message, schema) |
| #define | SUBSCRIBE_SCHEMA_RETURN(lsHandle, message) VALIDATE_SCHEMA_AND_RETURN(lsHandle, message, SCHEMA_1(OPTIONAL(subscribe, boolean))) |
| #define | EMPTY_SCHEMA_RETURN(lsHandle, message) VALIDATE_SCHEMA_AND_RETURN(lsHandle, message, SCHEMA_ANY) |
Enumerations | |
| enum | ESchemaErrorOptions { EIgnore = 0, EValidateAndContinue, EValidateAndError, EDefault } |
Functions | |
| pbnjson::JValue | createJsonReply (bool returnValue=true, int errorCode=0, const char *errorText=0) |
| std::string | createJsonReplyString (bool returnValue=true, int errorCode=0, const char *errorText=0) |
| std::string | jsonToString (pbnjson::JValue &reply, const char *schema=SCHEMA_ANY) |
Variables | |
| const char * | STANDARD_JSON_SUCCESS |
| #define DEPRECATED_SERVICE_MSG | ( | ) | g_critical("THIS METHOD IS DEPRECATED. PLEASE REVISIT THE CODE.") |
| #define EMPTY_SCHEMA_RETURN | ( | lsHandle, | |
| message | |||
| ) | VALIDATE_SCHEMA_AND_RETURN(lsHandle, message, SCHEMA_ANY) |
Empty/Any Schema : {}
| #define INVALID_PARAMETER_ERROR | ( | name, | |
| type | |||
| ) | "{\"returnValue\":false,\"errorCode\":3,\"errorText\":\"Invalid '" STR(name) "' " STR(type) " parameter value.\"}" |
| #define IS_SYSTEM_PARAMETER | ( | x | ) | ((x) && *(x) == '$') |
| #define MISSING_PARAMETER_ERROR | ( | name, | |
| type | |||
| ) | "{\"returnValue\":false,\"errorCode\":2,\"errorText\":\"Missing '" STR(name) "' " STR(type) " parameter.\"}" |
| #define NAKED_OBJECT_EMPTY | ( | objName | ) | "\"" #objName "\":{\"type\":\"object\",\"properties\":{" SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define NAKED_OBJECT_OPTIONAL_1 | ( | objName, | |
| p1, | |||
| type1 | |||
| ) | "\"" #objName "\":{\"type\":\"object\",\"properties\":{" OPTIONAL(p1, type1) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define NAKED_OBJECT_OPTIONAL_2 | ( | objName, | |
| p1, | |||
| type1, | |||
| p2, | |||
| type2 | |||
| ) | "\"" #objName "\":{\"type\":\"object\",\"properties\":{" OPTIONAL(p1, type1) "," OPTIONAL(p2, type2) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define NAKED_OBJECT_OPTIONAL_3 | ( | objName, | |
| p1, | |||
| type1, | |||
| p2, | |||
| type2, | |||
| p3, | |||
| type3 | |||
| ) | "\"" #objName "\":{\"type\":\"object\",\"properties\":{" OPTIONAL(p1, type1) "," OPTIONAL(p2, type2) "," OPTIONAL(p3, type3) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define NAKED_OBJECT_REQUIRED_1 | ( | objName, | |
| p1, | |||
| type1 | |||
| ) | "\"" #objName "\":{\"type\":\"object\",\"properties\":{" REQUIRED(p1, type1) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define NAKED_OBJECT_REQUIRED_2 | ( | objName, | |
| p1, | |||
| type1, | |||
| p2, | |||
| type2 | |||
| ) | "\"" #objName "\":{\"type\":\"object\",\"properties\":{" REQUIRED(p1, type1) "," REQUIRED(p2, type2) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define NAKED_OBJECT_REQUIRED_3 | ( | objName, | |
| p1, | |||
| type1, | |||
| p2, | |||
| type2, | |||
| p3, | |||
| type3 | |||
| ) | "\"" #objName "\":{\"type\":\"object\",\"properties\":{" REQUIRED(p1, type1) "," REQUIRED(p2, type2) "," REQUIRED(p3, type3) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define OBJECT_EMPTY | ( | objName | ) | "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define OBJECT_OPTIONAL_1 | ( | objName, | |
| p1, | |||
| type1 | |||
| ) | "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" OPTIONAL(p1, type1) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define OBJECT_OPTIONAL_2 | ( | objName, | |
| p1, | |||
| type1, | |||
| p2, | |||
| type2 | |||
| ) | "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" OPTIONAL(p1, type1) "," OPTIONAL(p2, type2) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define OBJECT_OPTIONAL_3 | ( | objName, | |
| p1, | |||
| type1, | |||
| p2, | |||
| type2, | |||
| p3, | |||
| type3 | |||
| ) | "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" OPTIONAL(p1, type1) "," OPTIONAL(p2, type2) "," OPTIONAL(p3, type3) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define OBJECT_REQUIRED_1 | ( | objName, | |
| p1, | |||
| type1 | |||
| ) | "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" REQUIRED(p1, type1) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define OBJECT_REQUIRED_2 | ( | objName, | |
| p1, | |||
| type1, | |||
| p2, | |||
| type2 | |||
| ) | "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" REQUIRED(p1, type1) "," REQUIRED(p2, type2) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define OBJECT_REQUIRED_3 | ( | objName, | |
| p1, | |||
| type1, | |||
| p2, | |||
| type2, | |||
| p3, | |||
| type3 | |||
| ) | "{\"" #objName "\":{\"type\":\"object\",\"properties\":{" REQUIRED(p1, type1) "," REQUIRED(p2, type2) "," REQUIRED(p3, type3) "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}}" |
| #define OPTIONAL | ( | name, | |
| type | |||
| ) | "\"" #name "\":{\"type\":\"" #type "\",\"optional\":true}" |
| #define REQUIRED | ( | name, | |
| type | |||
| ) | "\"" #name "\":{\"type\":\"" #type "\"}" |
| #define REQUIRED_UNION_2 | ( | name, | |
| type1, | |||
| type2 | |||
| ) | "\"" #name "\":{\"type\":[{\"type\":\"" #type1 "\"},{\"type\":\"" #type2 "\"}]}" |
| #define SCHEMA_0 "{\"type\":\"object\",\"properties\":{" SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define SCHEMA_1 | ( | param | ) | "{\"type\":\"object\",\"properties\":{" param "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define SCHEMA_2 | ( | p1, | |
| p2 | |||
| ) | "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define SCHEMA_3 | ( | p1, | |
| p2, | |||
| p3 | |||
| ) | "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," p3 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define SCHEMA_4 | ( | p1, | |
| p2, | |||
| p3, | |||
| p4 | |||
| ) | "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," p3 "," p4 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define SCHEMA_5 | ( | p1, | |
| p2, | |||
| p3, | |||
| p4, | |||
| p5 | |||
| ) | "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," p3 "," p4 "," p5 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define SCHEMA_6 | ( | p1, | |
| p2, | |||
| p3, | |||
| p4, | |||
| p5, | |||
| p6 | |||
| ) | "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," p3 "," p4 "," p5 "," p6 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define SCHEMA_7 | ( | p1, | |
| p2, | |||
| p3, | |||
| p4, | |||
| p5, | |||
| p6, | |||
| p7 | |||
| ) | "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," p3 "," p4 "," p5 "," p6 "," p7 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define SCHEMA_8 | ( | p1, | |
| p2, | |||
| p3, | |||
| p4, | |||
| p5, | |||
| p6, | |||
| p7, | |||
| p8 | |||
| ) | "{\"type\":\"object\",\"properties\":{" p1 "," p2 "," p3 "," p4 "," p5 "," p6 "," p7 "," p8 "," SYSTEM_PARAMETERS "},\"additionalProperties\":false}" |
| #define SCHEMA_ANY "{}" |
| #define STANDARD_JSON_ERROR | ( | errorCode, | |
| errorText | |||
| ) | "{\"returnValue\":false,\"errorCode\":"STR(errorCode)",\"errorText\":\"" errorText "\"}" |
| #define STANDARD_JSON_SUCCESS "{\"returnValue\":true}" |
Json Online Schema Validator : http://jsonlint.com/ http://davidwalsh.name/json-validation
| #define STR | ( | x | ) | #x |
| #define SUBSCRIBE_SCHEMA_RETURN | ( | lsHandle, | |
| message | |||
| ) | VALIDATE_SCHEMA_AND_RETURN(lsHandle, message, SCHEMA_1(OPTIONAL(subscribe, boolean))) |
Subscribe Schema : {"subscribe":boolean}
| #define SYSTEM_PARAMETERS "\"$activity\":{\"type\":\"object\",\"optional\":true}" |
| #define VALIDATE_SCHEMA_AND_RETURN | ( | lsHandle, | |
| message, | |||
| schema | |||
| ) |
| #define VALIDATE_SCHEMA_AND_RETURN_OPTION | ( | lsHandle, | |
| message, | |||
| schema, | |||
| schErrOption | |||
| ) |
Commonly used schema Macros Main Validation Code
| enum ESchemaErrorOptions |
| pbnjson::JValue createJsonReply | ( | bool | returnValue = true, |
| int | errorCode = 0, |
||
| const char * | errorText = 0 |
||
| ) |
| std::string createJsonReplyString | ( | bool | returnValue = true, |
| int | errorCode = 0, |
||
| const char * | errorText = 0 |
||
| ) |
| std::string jsonToString | ( | pbnjson::JValue & | reply, |
| const char * | schema = SCHEMA_ANY |
||
| ) |
| const char* STANDARD_JSON_SUCCESS |