Revert "Remove unused 'double' value manipulation functions from json" 43/44343/1
authorMu-Woong <muwoong.lee@samsung.com>
Tue, 21 Jul 2015 05:23:30 +0000 (14:23 +0900)
committerMu-Woong <muwoong.lee@samsung.com>
Tue, 21 Jul 2015 05:23:30 +0000 (14:23 +0900)
This reverts commit 77175955f83f50bff31d307cbee3ffb4aafafa3d.

Change-Id: I75ad281d2c7a4aec179ca8aa59e0c4583efaf5fe
Signed-off-by: Mu-Woong <muwoong.lee@samsung.com>
include/json.h
src/json.cpp

index 61b9aa8..98eff45 100644 (file)
@@ -29,6 +29,7 @@ do { \
 } while(0)
 
 #define EMPTY_JSON_OBJECT      "{}"
+#define DEFAULT_PRECISION      3
 
 namespace ctx {
 
@@ -82,11 +83,13 @@ namespace ctx {
                bool set(const char* path, const char* key, json& val);
                bool set(const char* path, const char* key, int val);
                bool set(const char* path, const char* key, int64_t val);
+               bool set(const char* path, const char* key, double val, int prec = DEFAULT_PRECISION);
                bool set(const char* path, const char* key, std::string val);
 
                bool get(const char* path, const char* key, json* val);
                bool get(const char* path, const char* key, int* val);
                bool get(const char* path, const char* key, int64_t* val);
+               bool get(const char* path, const char* key, double* val);
                bool get(const char* path, const char* key, std::string* val);
 
                int array_get_size(const char* path, const char* key);
@@ -94,16 +97,19 @@ namespace ctx {
                bool array_append(const char* path, const char* key, json& val);
                bool array_append(const char* path, const char* key, int val);
                bool array_append(const char* path, const char* key, int64_t val);
+               bool array_append(const char* path, const char* key, double val, int prec = DEFAULT_PRECISION);
                bool array_append(const char* path, const char* key, std::string val);
 
                bool array_set_at(const char* path, const char* key, int index, json& val);
                bool array_set_at(const char* path, const char* key, int index, int val);
                bool array_set_at(const char* path, const char* key, int index, int64_t val);
+               bool array_set_at(const char* path, const char* key, int index, double val, int prec = DEFAULT_PRECISION);
                bool array_set_at(const char* path, const char* key, int index, std::string val);
 
                bool get_array_elem(const char* path, const char* key, int index, json* val);
                bool get_array_elem(const char* path, const char* key, int index, int* val);
                bool get_array_elem(const char* path, const char* key, int index, int64_t* val);
+               bool get_array_elem(const char* path, const char* key, int index, double* val);
                bool get_array_elem(const char* path, const char* key, int index, std::string* val);
        };
 
index c3e0d2d..10462d8 100644 (file)
@@ -35,7 +35,6 @@ static double string_to_double(const char* in)
        return out;
 }
 
-#if 0
 static std::string double_to_string(double in, int prec)
 {
        // Locale-independent double-to-string conversion
@@ -44,7 +43,6 @@ static std::string double_to_string(double in, int prec)
        ostr << std::setprecision(prec) << std::fixed << in;
        return ostr.str();
 }
-#endif
 
 ctx::json::json()
 {
@@ -354,7 +352,6 @@ bool ctx::json::set(const char* path, const char* key, int64_t val)
        return true;
 }
 
-#if 0
 bool ctx::json::set(const char* path, const char* key, double val, int prec)
 {
        IF_FAIL_RETURN_TAG(this->json_node, false, _E, "Json object not initialized");
@@ -371,7 +368,6 @@ bool ctx::json::set(const char* path, const char* key, double val, int prec)
        json_object_set_string_member(jobj, key, double_to_string(val, prec).c_str());
        return true;
 }
-#endif
 
 bool ctx::json::set(const char* path, const char* key, std::string val)
 {
@@ -463,7 +459,6 @@ bool ctx::json::get(const char* path, const char* key, int64_t* val)
        return true;
 }
 
-#if 0
 bool ctx::json::get(const char* path, const char* key, double* val)
 {
        IF_FAIL_RETURN_TAG(this->json_node, false, _E, "Json object not initialized");
@@ -486,7 +481,6 @@ bool ctx::json::get(const char* path, const char* key, double* val)
 
        return true;
 }
-#endif
 
 bool ctx::json::get(const char* path, const char* key, std::string* val)
 {
@@ -574,7 +568,6 @@ bool ctx::json::array_append(const char* path, const char* key, int64_t val)
        return true;
 }
 
-#if 0
 bool ctx::json::array_append(const char* path, const char* key, double val, int prec)
 {
        IF_FAIL_RETURN_TAG(this->json_node, false, _E, "Json object not initialized");
@@ -587,7 +580,6 @@ bool ctx::json::array_append(const char* path, const char* key, double val, int
        json_array_add_string_element(arr, double_to_string(val, prec).c_str());
        return true;
 }
-#endif
 
 bool ctx::json::array_append(const char* path, const char* key, std::string val)
 {
@@ -654,7 +646,6 @@ bool ctx::json::array_set_at(const char* path, const char* key, int index, int64
        return true;
 }
 
-#if 0
 bool ctx::json::array_set_at(const char* path, const char* key, int index, double val, int prec)
 {
        IF_FAIL_RETURN_TAG(this->json_node, false, _E, "Json object not initialized");
@@ -668,7 +659,6 @@ bool ctx::json::array_set_at(const char* path, const char* key, int index, doubl
        json_node_set_string(node, double_to_string(val, prec).c_str());
        return true;
 }
-#endif
 
 bool ctx::json::array_set_at(const char* path, const char* key, int index, std::string val)
 {
@@ -741,7 +731,6 @@ bool ctx::json::get_array_elem(const char* path, const char* key, int index, int
        return true;
 }
 
-#if 0
 bool ctx::json::get_array_elem(const char* path, const char* key, int index, double* val)
 {
        IF_FAIL_RETURN_TAG(this->json_node, false, _E, "Json object not initialized");
@@ -768,7 +757,6 @@ bool ctx::json::get_array_elem(const char* path, const char* key, int index, dou
 
        return true;
 }
-#endif
 
 bool ctx::json::get_array_elem(const char* path, const char* key, int index, std::string* val)
 {