From 32aeba93a58bfd8a39545fb97ed843a0f389efe5 Mon Sep 17 00:00:00 2001 From: Veronica Veremjova Date: Fri, 24 Feb 2017 15:43:11 +0200 Subject: Fix TTS Capabilities According API it should be array --- .../src/hmi_capabilities_impl.cc | 25 ++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/components/application_manager/src/hmi_capabilities_impl.cc b/src/components/application_manager/src/hmi_capabilities_impl.cc index c6fa321401..b78060a7d5 100644 --- a/src/components/application_manager/src/hmi_capabilities_impl.cc +++ b/src/components/application_manager/src/hmi_capabilities_impl.cc @@ -49,6 +49,8 @@ namespace Formatters = NsSmartDeviceLink::NsJSONHandler::Formatters; namespace { std::map vr_enum_capabilities; +std::map + tts_enum_capabilities; std::map button_enum_name; std::map text_fields_enum_name; @@ -71,6 +73,19 @@ void InitCapabilities() { vr_enum_capabilities.insert(std::make_pair( std::string("TEXT"), hmi_apis::Common_VrCapabilities::VR_TEXT)); + tts_enum_capabilities.insert(std::make_pair( + std::string("TEXT"), hmi_apis::Common_SpeechCapabilities::SC_TEXT)); + tts_enum_capabilities.insert(std::make_pair( + std::string("SAPI_PHONEMES"), hmi_apis::Common_SpeechCapabilities::SAPI_PHONEMES)); + tts_enum_capabilities.insert(std::make_pair( + std::string("LHPLUS_PHONEMES"), hmi_apis::Common_SpeechCapabilities::LHPLUS_PHONEMES)); + tts_enum_capabilities.insert(std::make_pair( + std::string("SAPI_PHONEMES"), hmi_apis::Common_SpeechCapabilities::SAPI_PHONEMES)); + tts_enum_capabilities.insert(std::make_pair( + std::string("PRE_RECORDED"), hmi_apis::Common_SpeechCapabilities::PRE_RECORDED)); + tts_enum_capabilities.insert(std::make_pair( + std::string("SILENCE"), hmi_apis::Common_SpeechCapabilities::SILENCE)); + button_enum_name.insert( std::make_pair(std::string("OK"), hmi_apis::Common_ButtonName::OK)); button_enum_name.insert(std::make_pair( @@ -995,8 +1010,14 @@ bool HMICapabilitiesImpl::load_capabilities_from_file() { } if (check_existing_json_member(tts, "capabilities")) { - set_speech_capabilities( - smart_objects::SmartObject(tts.get("capabilities", "").asString())); + Json::Value capabilities = tts.get("capabilities", ""); + smart_objects::SmartObject tts_capabilities_so = + smart_objects::SmartObject(smart_objects::SmartType_Array); + for (uint32_t i = 0; i < capabilities.size(); ++i) { + tts_capabilities_so[i] = + tts_enum_capabilities.find(capabilities[i].asString())->second; + } + set_speech_capabilities(tts_capabilities_so); } } // TTS end -- cgit v1.2.1