aboutsummaryrefslogtreecommitdiffstats
path: root/src/json_helper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/json_helper.cpp')
-rw-r--r--src/json_helper.cpp54
1 files changed, 53 insertions, 1 deletions
diff --git a/src/json_helper.cpp b/src/json_helper.cpp
index 193a187..ac3d2b0 100644
--- a/src/json_helper.cpp
+++ b/src/json_helper.cpp
@@ -14,9 +14,12 @@
* limitations under the License.
*/
-#include "json_helper.hpp"
+#include <json-c/json.h>
#include <json.h>
+#include "json_helper.hpp"
+#include "hmi-debug.h"
+
json_object *to_json(compositor::surface_properties const &s) {
// auto j = json::object({
@@ -100,3 +103,52 @@ json_object *to_json(std::vector<uint32_t> const &v) {
}
return a;
}
+
+namespace jh {
+
+const char* getStringFromJson(json_object* obj, const char* key) {
+ if ((nullptr == obj) || (nullptr == key)) {
+ HMI_ERROR("wm:jh", "Argument is nullptr!!!");
+ return nullptr;
+ }
+
+ json_object* tmp;
+ if (!json_object_object_get_ex(obj, key, &tmp)) {
+ HMI_DEBUG("wm:jh", "Not found key \"%s\"", key);
+ return nullptr;
+ }
+
+ return json_object_get_string(tmp);
+}
+
+int getIntFromJson(json_object* obj, const char* key) {
+ if ((nullptr == obj) || (nullptr == key)) {
+ HMI_ERROR("wm", "Argument is nullptr!!!");
+ return 0;
+ }
+
+ json_object* tmp;
+ if (!json_object_object_get_ex(obj, key, &tmp)) {
+ HMI_DEBUG("wm", "Not found key \"%s\"", key);
+ return 0;
+ }
+
+ return json_object_get_int(tmp);
+}
+
+json_bool getBoolFromJson(json_object* obj, const char* key) {
+ if ((nullptr == obj) || (nullptr == key)) {
+ HMI_ERROR("wm", "Argument is nullptr!!!");
+ return 0;
+ }
+
+ json_object* tmp;
+ if (!json_object_object_get_ex(obj, key, &tmp)) {
+ HMI_DEBUG("wm", "Not found key \"%s\"", key);
+ return 0;
+ }
+
+ return json_object_get_boolean(tmp);
+}
+
+} // namespace jh