summaryrefslogtreecommitdiffstats
path: root/extensions/openpower-pels/json_utils.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/openpower-pels/json_utils.hpp')
-rw-r--r--extensions/openpower-pels/json_utils.hpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/extensions/openpower-pels/json_utils.hpp b/extensions/openpower-pels/json_utils.hpp
index 14c2ce4..f3fb767 100644
--- a/extensions/openpower-pels/json_utils.hpp
+++ b/extensions/openpower-pels/json_utils.hpp
@@ -39,7 +39,7 @@ char* dumpHex(const void* data, size_t size);
* @param[in] indentCount - Indent count for the line
*/
void jsonInsert(std::string& jsonStr, const std::string& fieldName,
- std::string& fieldValue, uint8_t indentCount);
+ std::string fieldValue, uint8_t indentCount);
/**
* @brief Inserts key-value array into a JSON string
@@ -51,5 +51,30 @@ void jsonInsert(std::string& jsonStr, const std::string& fieldName,
*/
void jsonInsertArray(std::string& jsonStr, const std::string& fieldName,
std::vector<std::string>& values, uint8_t indentCount);
+
+/**
+ * @brief Converts an integer to a formatted string
+ * @param[in] format - the format of output string
+ * @param[in] number - the integer to convert
+ * @return std::string - the formatted string
+ */
+template <typename T>
+std::string getNumberString(const char* format, T number)
+{
+ char* value = nullptr;
+ std::string numString;
+
+ static_assert(std::is_integral<T>::value, "Integral required.");
+
+ int len = asprintf(&value, format, number);
+ if (len)
+ {
+ numString = value;
+ }
+ free(value);
+
+ return numString;
+}
+
} // namespace pels
} // namespace openpower
OpenPOWER on IntegriCloud