summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndriy Byzhynar <AByzhynar@luxoft.com>2017-11-09 17:24:55 +0200
committerAndriy Byzhynar <AByzhynar@luxoft.com>2018-01-26 11:38:09 +0200
commit7aebbc35100d78a63cc4336b0072a60a0d4fddd4 (patch)
treed9cb924e17c9898efad0bee1b7b2140c7de79be7
parent8bc836e0b5074f92e5da2334d8567415b25f9353 (diff)
downloadsdl_core-7aebbc35100d78a63cc4336b0072a60a0d4fddd4.tar.gz
Add function to convert SmartObject to string
-rw-r--r--src/components/application_manager/include/application_manager/message_helper.h3
-rw-r--r--src/components/application_manager/src/message_helper/message_helper.cc11
-rw-r--r--src/components/application_manager/test/include/application_manager/mock_message_helper.h2
-rw-r--r--src/components/application_manager/test/mock_message_helper.cc5
4 files changed, 21 insertions, 0 deletions
diff --git a/src/components/application_manager/include/application_manager/message_helper.h b/src/components/application_manager/include/application_manager/message_helper.h
index dc16e14023..9546fc2d1b 100644
--- a/src/components/application_manager/include/application_manager/message_helper.h
+++ b/src/components/application_manager/include/application_manager/message_helper.h
@@ -620,6 +620,9 @@ class MessageHelper {
static bool PrintSmartObject(const smart_objects::SmartObject& object);
+ static std::string SmartObjectToString(
+ const smart_objects::SmartObject& object);
+
template <typename From, typename To>
static To ConvertEnumAPINoCheck(const From& input) {
return static_cast<To>(input);
diff --git a/src/components/application_manager/src/message_helper/message_helper.cc b/src/components/application_manager/src/message_helper/message_helper.cc
index 4ae6ce4024..e52dcd99df 100644
--- a/src/components/application_manager/src/message_helper/message_helper.cc
+++ b/src/components/application_manager/src/message_helper/message_helper.cc
@@ -62,6 +62,9 @@
#include "formatters/CFormatterJsonSDLRPCv2.h"
#include "formatters/CFormatterJsonSDLRPCv1.h"
+#include "json/json.h"
+#include "formatters/CFormatterJsonBase.h"
+
CREATE_LOGGERPTR_GLOBAL(logger_, "ApplicationManager")
namespace application_manager {
@@ -2925,6 +2928,14 @@ void MessageHelper::SubscribeApplicationToSoftButton(
app->SubscribeToSoftButtons(function_id, softbuttons_id);
}
+std::string MessageHelper::SmartObjectToString(
+ const smart_objects::SmartObject& object) {
+ Json::Value tmp;
+ namespace Formatters = NsSmartDeviceLink::NsJSONHandler::Formatters;
+ Formatters::CFormatterJsonBase::objToJsonValue(object, tmp);
+ return tmp.toStyledString();
+}
+
// TODO(AK): change printf to logger
bool MessageHelper::PrintSmartObject(const smart_objects::SmartObject& object) {
return true;
diff --git a/src/components/application_manager/test/include/application_manager/mock_message_helper.h b/src/components/application_manager/test/include/application_manager/mock_message_helper.h
index 7598e33e19..911744f8b5 100644
--- a/src/components/application_manager/test/include/application_manager/mock_message_helper.h
+++ b/src/components/application_manager/test/include/application_manager/mock_message_helper.h
@@ -255,6 +255,8 @@ class MockMessageHelper {
MOCK_METHOD1(PrintSmartObject,
bool(const smart_objects::SmartObject& object));
+ MOCK_METHOD1(SmartObjectToString,
+ std::string(const smart_objects::SmartObject& object));
MOCK_METHOD3(SendTTSGlobalProperties,
void(ApplicationSharedPtr app,
const bool default_help_prompt,
diff --git a/src/components/application_manager/test/mock_message_helper.cc b/src/components/application_manager/test/mock_message_helper.cc
index 2a74f5b3b1..86338f1fd6 100644
--- a/src/components/application_manager/test/mock_message_helper.cc
+++ b/src/components/application_manager/test/mock_message_helper.cc
@@ -482,6 +482,11 @@ bool MessageHelper::PrintSmartObject(const smart_objects::SmartObject& object) {
return MockMessageHelper::message_helper_mock()->PrintSmartObject(object);
}
+std::string MessageHelper::SmartObjectToString(
+ const smart_objects::SmartObject& object) {
+ return MockMessageHelper::message_helper_mock()->SmartObjectToString(object);
+}
+
void MessageHelper::SendSetAppIcon(const uint32_t app_id,
const std::string& icon_path,
ApplicationManager& application_manager) {