diff options
author | Andriy Byzhynar <AByzhynar@luxoft.com> | 2017-11-09 17:24:55 +0200 |
---|---|---|
committer | Andriy Byzhynar <AByzhynar@luxoft.com> | 2018-01-26 11:38:09 +0200 |
commit | 7aebbc35100d78a63cc4336b0072a60a0d4fddd4 (patch) | |
tree | d9cb924e17c9898efad0bee1b7b2140c7de79be7 | |
parent | 8bc836e0b5074f92e5da2334d8567415b25f9353 (diff) | |
download | sdl_core-7aebbc35100d78a63cc4336b0072a60a0d4fddd4.tar.gz |
Add function to convert SmartObject to string
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) { |