summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/appMain/hmi_capabilities.json4
-rw-r--r--src/appMain/smartDeviceLink.ini3
-rw-r--r--src/components/application_manager/rpc_plugins/vehicle_info_plugin/include/vehicle_info_plugin/vehicle_info_plugin.h4
-rw-r--r--src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/vehicle_info_pending_resumption_handler.cc14
-rw-r--r--src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/vehicle_info_plugin.cc38
-rw-r--r--src/components/application_manager/rpc_plugins/vehicle_info_plugin/test/vehicle_info_pending_resumption_test.cc66
-rw-r--r--src/components/application_manager/src/hmi_capabilities_impl.cc537
-rw-r--r--src/components/application_manager/test/hmi_capabilities_old_apt.json2
-rw-r--r--src/components/connection_handler/src/connection_handler_impl.cc2
-rw-r--r--src/components/policy/policy_regular/include/policy/policy_manager_impl.h2
-rw-r--r--src/components/policy/policy_regular/src/policy_manager_impl.cc4
11 files changed, 166 insertions, 510 deletions
diff --git a/src/appMain/hmi_capabilities.json b/src/appMain/hmi_capabilities.json
index 99a2e4c0cc..1e1c5aea79 100755
--- a/src/appMain/hmi_capabilities.json
+++ b/src/appMain/hmi_capabilities.json
@@ -287,12 +287,12 @@
},
"audioPassThruCapabilities": [{
"samplingRate": "44KHZ",
- "bitsPerSample": "RATE_8_BIT",
+ "bitsPerSample": "8_BIT",
"audioType": "PCM"
}],
"pcmStreamCapabilities": {
"samplingRate": "16KHZ",
- "bitsPerSample": "RATE_16_BIT",
+ "bitsPerSample": "16_BIT",
"audioType": "PCM"
},
"hmiZoneCapabilities": "FRONT",
diff --git a/src/appMain/smartDeviceLink.ini b/src/appMain/smartDeviceLink.ini
index bd23e5b90c..0b27e6263a 100644
--- a/src/appMain/smartDeviceLink.ini
+++ b/src/appMain/smartDeviceLink.ini
@@ -316,7 +316,8 @@ OpenAttemptTimeoutMsResumptionDB = 500
; Social, BackgroundProcess, Testing, System, Projection, RemoteControl,
; EmptyApp
; Possible transport types: TCP_WIFI, IAP_CARPLAY, IAP_USB_HOST_MODE, IAP_USB_DEVICE_MODE,
-; IAP_USB, AOA_USB, IAP_BLUETOOTH, SPP_BLUETOOTH
+; IAP_USB, AOA_USB, IAP_BLUETOOTH, SPP_BLUETOOTH, WEBSOCKET,
+; WEBENGINE
;
; The default behavior is to always enable resumption. If an AppHMIType is not listed in this
; section, resumption is enabled for an app with the AppHMIType.
diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/include/vehicle_info_plugin/vehicle_info_plugin.h b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/include/vehicle_info_plugin/vehicle_info_plugin.h
index 5b597cfcab..1910a9efdf 100644
--- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/include/vehicle_info_plugin/vehicle_info_plugin.h
+++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/include/vehicle_info_plugin/vehicle_info_plugin.h
@@ -42,7 +42,8 @@ class VehicleInfoAppExtension;
namespace app_mngr = application_manager;
namespace plugins = application_manager::plugin_manager;
-enum SubscribeStatus { SUBSCRIBE, UNSUBSCRIBE };
+bool IsSubscribedAppExist(const std::string& ivi,
+ const app_mngr::ApplicationManager& app_manager);
class VehicleInfoPlugin : public plugins::RPCPlugin {
public:
@@ -96,7 +97,6 @@ class VehicleInfoPlugin : public plugins::RPCPlugin {
const std::set<std::string>& list_of_subscriptions);
private:
- bool IsSubscribedAppExist(const std::string& ivi);
bool IsAnyPendingSubscriptionExist(const std::string& ivi);
void UnsubscribeFromRemovedVDItems();
smart_objects::SmartObjectSPtr GetUnsubscribeIVIRequest(
diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/vehicle_info_pending_resumption_handler.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/vehicle_info_pending_resumption_handler.cc
index bb71ea26b1..6721d93658 100644
--- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/vehicle_info_pending_resumption_handler.cc
+++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/vehicle_info_pending_resumption_handler.cc
@@ -38,6 +38,7 @@
#include "application_manager/resumption/resumption_data_processor.h"
#include "utils/helpers.h"
#include "vehicle_info_plugin/custom_vehicle_data_manager.h"
+#include "vehicle_info_plugin/vehicle_info_plugin.h"
namespace vehicle_info_plugin {
SDL_CREATE_LOG_VARIABLE("VehicleInfoPlugin")
@@ -209,6 +210,7 @@ void VehicleInfoPendingResumptionHandler::on_event(
SDL_LOG_AUTO_TRACE();
sync_primitives::AutoLock lock(pending_resumption_lock_);
using namespace application_manager;
+
if (pending_requests_.empty()) {
SDL_LOG_DEBUG("Not waiting for any response");
return;
@@ -270,7 +272,17 @@ void VehicleInfoPendingResumptionHandler::HandleResumptionSubscriptionRequest(
SDL_LOG_TRACE("app id " << app.app_id());
auto& ext = dynamic_cast<VehicleInfoAppExtension&>(extension);
- const auto subscriptions = ext.PendingSubscriptions().GetData();
+ auto subscriptions = ext.PendingSubscriptions().GetData();
+ for (auto ivi = subscriptions.begin(); ivi != subscriptions.end();) {
+ if (IsSubscribedAppExist(*ivi, application_manager_)) {
+ ext.RemovePendingSubscription(*ivi);
+ ext.subscribeToVehicleInfo(*ivi);
+ subscriptions.erase(ivi++);
+ } else {
+ ++ivi;
+ }
+ }
+
if (subscriptions.empty()) {
SDL_LOG_DEBUG("Subscriptions is empty");
return;
diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/vehicle_info_plugin.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/vehicle_info_plugin.cc
index 718814b201..1a357a86ee 100644
--- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/vehicle_info_plugin.cc
+++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/vehicle_info_plugin.cc
@@ -48,6 +48,21 @@ namespace strings = application_manager::strings;
namespace plugins = application_manager::plugin_manager;
namespace commands = application_manager::commands;
+bool IsSubscribedAppExist(
+ const std::string& ivi,
+ const application_manager::ApplicationManager& app_manager) {
+ SDL_LOG_AUTO_TRACE();
+ auto apps_accessor = app_manager.applications();
+
+ for (auto& app : apps_accessor.GetData()) {
+ auto& ext = VehicleInfoAppExtension::ExtractVIExtension(*app);
+ if (ext.isSubscribedToVehicleInfo(ivi)) {
+ return true;
+ }
+ }
+ return false;
+}
+
VehicleInfoPlugin::VehicleInfoPlugin()
: application_manager_(nullptr), pending_resumption_handler_(nullptr) {}
@@ -164,13 +179,6 @@ void VehicleInfoPlugin::ProcessResumptionSubscription(
application_manager::Application& app, VehicleInfoAppExtension& ext) {
SDL_LOG_AUTO_TRACE();
- auto pending = ext.PendingSubscriptions().GetData();
- for (const auto& ivi : pending) {
- if (IsSubscribedAppExist(ivi)) {
- ext.RemovePendingSubscription(ivi);
- ext.subscribeToVehicleInfo(ivi);
- }
- }
pending_resumption_handler_->HandleResumptionSubscriptionRequest(ext, app);
}
@@ -181,10 +189,9 @@ void VehicleInfoPlugin::RevertResumption(
UNUSED(app);
pending_resumption_handler_->OnResumptionRevert();
-
std::set<std::string> subscriptions_to_revert;
for (auto& ivi_data : list_of_subscriptions) {
- if (!IsSubscribedAppExist(ivi_data) &&
+ if (!IsSubscribedAppExist(ivi_data, *application_manager_) &&
!IsAnyPendingSubscriptionExist(ivi_data)) {
subscriptions_to_revert.insert(ivi_data);
}
@@ -230,19 +237,6 @@ smart_objects::SmartObjectSPtr VehicleInfoPlugin::CreateUnsubscriptionRequest(
return request;
}
-bool VehicleInfoPlugin::IsSubscribedAppExist(const std::string& ivi) {
- SDL_LOG_AUTO_TRACE();
- auto apps_accessor = application_manager_->applications();
-
- for (auto& app : apps_accessor.GetData()) {
- auto& ext = VehicleInfoAppExtension::ExtractVIExtension(*app);
- if (ext.isSubscribedToVehicleInfo(ivi)) {
- return true;
- }
- }
- return false;
-}
-
bool VehicleInfoPlugin::IsAnyPendingSubscriptionExist(const std::string& ivi) {
SDL_LOG_AUTO_TRACE();
auto apps_accessor = application_manager_->applications();
diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/test/vehicle_info_pending_resumption_test.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/test/vehicle_info_pending_resumption_test.cc
index c2af7236f8..5b2f4d5e25 100644
--- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/test/vehicle_info_pending_resumption_test.cc
+++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/test/vehicle_info_pending_resumption_test.cc
@@ -48,6 +48,7 @@ using namespace vehicle_info_plugin;
using ::testing::_;
using ::testing::DoAll;
+using ::testing::Mock;
using ::testing::NiceMock;
using ::testing::Return;
using ::testing::ReturnRef;
@@ -226,8 +227,10 @@ class VehicleInfoPendingResumptionHandlerTest : public ::testing::Test {
VehicleInfoPendingResumptionHandlerTest()
: mock_message_helper_(
*application_manager::MockMessageHelper::message_helper_mock())
-
- {}
+ , applications_lock_(std::make_shared<sync_primitives::Lock>())
+ , applications_(application_set_, applications_lock_) {
+ Mock::VerifyAndClearExpectations(&mock_message_helper_);
+ }
void SetUp() OVERRIDE {
ON_CALL(app_manager_mock_, event_dispatcher())
@@ -238,6 +241,8 @@ class VehicleInfoPendingResumptionHandlerTest : public ::testing::Test {
.WillByDefault(ReturnRef(resume_ctrl_mock_));
ON_CALL(resume_ctrl_mock_, resumption_data_processor())
.WillByDefault(ReturnRef(resumption_data_processor_mock_));
+ EXPECT_CALL(app_manager_mock_, applications())
+ .WillRepeatedly(Return(applications_));
resumption_handler_.reset(
new vehicle_info_plugin::VehicleInfoPendingResumptionHandler(
@@ -245,6 +250,11 @@ class VehicleInfoPendingResumptionHandlerTest : public ::testing::Test {
MessageHelperResponseCreateExpectation();
}
+ ~VehicleInfoPendingResumptionHandlerTest() {
+ Mock::VerifyAndClearExpectations(&mock_message_helper_);
+ Mock::VerifyAndClearExpectations(&app_manager_mock_);
+ }
+
void MessageHelperResponseCreateExpectation() {
const int default_corr_id = 0;
static auto response = CreateHMIResponseMessage(
@@ -277,12 +287,15 @@ class VehicleInfoPendingResumptionHandlerTest : public ::testing::Test {
MockMessageHelper& mock_message_helper_;
MockApplicationManager app_manager_mock_;
- MockResumeCtrl resume_ctrl_mock_;
+ NiceMock<MockResumeCtrl> resume_ctrl_mock_;
MockResumptionDataProcessor resumption_data_processor_mock_;
MockEventDispatcher event_dispatcher_mock_;
MockRPCService mock_rpc_service_;
NiceMock<MockCustomVehicleDataManager> custom_vehicle_data_manager_mock_;
vehicle_info_plugin::VehicleInfoPlugin plugin_;
+ application_manager::ApplicationSet application_set_;
+ std::shared_ptr<sync_primitives::Lock> applications_lock_;
+ DataAccessor<application_manager::ApplicationSet> applications_;
std::unique_ptr<vehicle_info_plugin::VehicleInfoPendingResumptionHandler>
resumption_handler_;
@@ -300,6 +313,8 @@ TEST_F(VehicleInfoPendingResumptionHandlerTest, NoSubscriptionNoAction) {
TEST_F(VehicleInfoPendingResumptionHandlerTest,
OneAppSeveralVehicleDataSuccess) {
auto mock_app = CreateApp(1);
+ application_set_.insert(mock_app);
+
auto ext = CreateExtension(*mock_app);
ext->AddPendingSubscription("gps");
ext->AddPendingSubscription("speed");
@@ -327,6 +342,8 @@ TEST_F(VehicleInfoPendingResumptionHandlerTest,
TEST_F(VehicleInfoPendingResumptionHandlerTest,
OneAppSeveralVehicleDataResponseSuccess) {
auto mock_app = CreateApp(1);
+ application_set_.insert(mock_app);
+
auto ext = CreateExtension(*mock_app);
ext->AddPendingSubscription("gps");
ext->AddPendingSubscription("speed");
@@ -372,6 +389,8 @@ TEST_F(VehicleInfoPendingResumptionHandlerTest,
TEST_F(VehicleInfoPendingResumptionHandlerTest,
OneAppSeveralVehicleDataResponseOneFailed) {
auto mock_app = CreateApp(1);
+ application_set_.insert(mock_app);
+
auto ext = CreateExtension(*mock_app);
ext->AddPendingSubscription("gps");
ext->AddPendingSubscription("speed");
@@ -417,6 +436,8 @@ TEST_F(VehicleInfoPendingResumptionHandlerTest,
TEST_F(VehicleInfoPendingResumptionHandlerTest,
OneAppSeveralVehicleDataResponseAllFailed) {
auto mock_app = CreateApp(1);
+ application_set_.insert(mock_app);
+
auto ext = CreateExtension(*mock_app);
ext->AddPendingSubscription("gps");
ext->AddPendingSubscription("speed");
@@ -457,6 +478,8 @@ TEST_F(VehicleInfoPendingResumptionHandlerTest,
TEST_F(VehicleInfoPendingResumptionHandlerTest,
OneAppSeveralVehicleDataResponseOveralResultFailed) {
auto mock_app = CreateApp(1);
+ application_set_.insert(mock_app);
+
auto ext = CreateExtension(*mock_app);
ext->AddPendingSubscription("gps");
ext->AddPendingSubscription("speed");
@@ -491,7 +514,11 @@ TEST_F(VehicleInfoPendingResumptionHandlerTest,
TEST_F(VehicleInfoPendingResumptionHandlerTest, TwoAppsOneSharedDataSuccess) {
auto mock_app = CreateApp(1);
+ application_set_.insert(mock_app);
+
auto mock_app2 = CreateApp(2);
+ application_set_.insert(mock_app2);
+
auto ext = CreateExtension(*mock_app);
auto ext2 = CreateExtension(*mock_app2);
ext->AddPendingSubscription("gps");
@@ -533,7 +560,11 @@ TEST_F(VehicleInfoPendingResumptionHandlerTest, TwoAppsOneSharedDataSuccess) {
TEST_F(VehicleInfoPendingResumptionHandlerTest,
TwoAppsMultipleSharedDataSuccessResumption) {
auto mock_app = CreateApp(1);
+ application_set_.insert(mock_app);
+
auto mock_app2 = CreateApp(2);
+ application_set_.insert(mock_app2);
+
auto ext = CreateExtension(*mock_app);
auto ext2 = CreateExtension(*mock_app2);
ext->AddPendingSubscription("gps");
@@ -580,7 +611,11 @@ TEST_F(VehicleInfoPendingResumptionHandlerTest,
TEST_F(VehicleInfoPendingResumptionHandlerTest,
TwoAppsOneSharedDataFailRetryforSecondApp) {
auto mock_app = CreateApp(1);
+ application_set_.insert(mock_app);
+
auto mock_app2 = CreateApp(2);
+ application_set_.insert(mock_app2);
+
auto ext = CreateExtension(*mock_app);
auto ext2 = CreateExtension(*mock_app2);
ext->AddPendingSubscription("gps");
@@ -633,4 +668,29 @@ TEST_F(VehicleInfoPendingResumptionHandlerTest,
EXPECT_EQ(ext2->PendingSubscriptions().GetData().size(), 0u);
}
+TEST_F(VehicleInfoPendingResumptionHandlerTest,
+ TwoAppsOneSharedDataAlreadySubscribedByFirstAppNoRetryforSecondApp) {
+ auto mock_app = CreateApp(1);
+ application_set_.insert(mock_app);
+
+ auto mock_app2 = CreateApp(2);
+ application_set_.insert(mock_app2);
+
+ auto ext = CreateExtension(*mock_app);
+ auto ext2 = CreateExtension(*mock_app2);
+
+ ext->subscribeToVehicleInfo("gps");
+ ext2->AddPendingSubscription("gps");
+
+ EXPECT_CALL(resumption_data_processor_mock_, SubscribeToResponse(_, _))
+ .Times(0);
+ EXPECT_CALL(event_dispatcher_mock_, raise_event(_)).Times(0);
+ EXPECT_CALL(mock_rpc_service_, ManageHMICommand(_, _)).Times(0);
+
+ resumption_handler_->HandleResumptionSubscriptionRequest(*ext2, *mock_app2);
+
+ EXPECT_TRUE(ext->isSubscribedToVehicleInfo("gps"));
+ EXPECT_TRUE(ext2->isSubscribedToVehicleInfo("gps"));
+ EXPECT_EQ(ext2->PendingSubscriptions().GetData().size(), 0u);
+}
} // namespace vehicle_info_plugin_test
diff --git a/src/components/application_manager/src/hmi_capabilities_impl.cc b/src/components/application_manager/src/hmi_capabilities_impl.cc
index 924c603792..c19b70f2f5 100644
--- a/src/components/application_manager/src/hmi_capabilities_impl.cc
+++ b/src/components/application_manager/src/hmi_capabilities_impl.cc
@@ -54,410 +54,6 @@ namespace formatters = ns_smart_device_link::ns_json_handler::formatters;
SDL_CREATE_LOG_VARIABLE("HMICapabilities")
namespace {
-std::map<std::string, hmi_apis::Common_VrCapabilities::eType>
- vr_enum_capabilities;
-std::map<std::string, hmi_apis::Common_SpeechCapabilities::eType>
- tts_enum_capabilities;
-std::map<std::string, hmi_apis::Common_PrerecordedSpeech::eType>
- tts_enum_prerecorded_speech;
-std::map<std::string, hmi_apis::Common_ButtonName::eType> button_enum_name;
-std::map<std::string, hmi_apis::Common_TextFieldName::eType>
- text_fields_enum_name;
-std::map<std::string, hmi_apis::Common_MediaClockFormat::eType>
- media_clock_enum_name;
-std::map<std::string, hmi_apis::Common_ImageType::eType> image_type_enum;
-std::map<std::string, hmi_apis::Common_SamplingRate::eType> sampling_rate_enum;
-std::map<std::string, hmi_apis::Common_BitsPerSample::eType>
- bit_per_sample_enum;
-std::map<std::string, hmi_apis::Common_AudioType::eType> audio_type_enum;
-std::map<std::string, hmi_apis::Common_HmiZoneCapabilities::eType>
- hmi_zone_enum;
-std::map<std::string, hmi_apis::Common_ImageFieldName::eType>
- image_field_name_enum;
-std::map<std::string, hmi_apis::Common_FileType::eType> file_type_enum;
-std::map<std::string, hmi_apis::Common_DisplayType::eType> display_type_enum;
-std::map<std::string, hmi_apis::Common_CharacterSet::eType> character_set_enum;
-std::map<std::string, hmi_apis::Common_VideoStreamingProtocol::eType>
- video_streaming_protocol_enum;
-std::map<std::string, hmi_apis::Common_VideoStreamingCodec::eType>
- video_streaming_codec_enum;
-
-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));
- tts_enum_capabilities.insert(std::make_pair(
- std::string("FILE"), hmi_apis::Common_SpeechCapabilities::FILE));
-
- tts_enum_prerecorded_speech.insert(
- std::make_pair(std::string("HELP_JINGLE"),
- hmi_apis::Common_PrerecordedSpeech::HELP_JINGLE));
- tts_enum_prerecorded_speech.insert(
- std::make_pair(std::string("INITIAL_JINGLE"),
- hmi_apis::Common_PrerecordedSpeech::INITIAL_JINGLE));
- tts_enum_prerecorded_speech.insert(
- std::make_pair(std::string("LISTEN_JINGLE"),
- hmi_apis::Common_PrerecordedSpeech::LISTEN_JINGLE));
- tts_enum_prerecorded_speech.insert(
- std::make_pair(std::string("POSITIVE_JINGLE"),
- hmi_apis::Common_PrerecordedSpeech::POSITIVE_JINGLE));
- tts_enum_prerecorded_speech.insert(
- std::make_pair(std::string("NEGATIVE_JINGLE"),
- hmi_apis::Common_PrerecordedSpeech::NEGATIVE_JINGLE));
-
- button_enum_name.insert(
- std::make_pair(std::string("OK"), hmi_apis::Common_ButtonName::OK));
- button_enum_name.insert(std::make_pair(
- std::string("PLAY_PAUSE"), hmi_apis::Common_ButtonName::PLAY_PAUSE));
- button_enum_name.insert(std::make_pair(
- std::string("SEEKLEFT"), hmi_apis::Common_ButtonName::SEEKLEFT));
- button_enum_name.insert(std::make_pair(
- std::string("SEEKRIGHT"), hmi_apis::Common_ButtonName::SEEKRIGHT));
- button_enum_name.insert(std::make_pair(std::string("TUNEUP"),
- hmi_apis::Common_ButtonName::TUNEUP));
- button_enum_name.insert(std::make_pair(
- std::string("TUNEDOWN"), hmi_apis::Common_ButtonName::TUNEDOWN));
- button_enum_name.insert(std::make_pair(
- std::string("PRESET_0"), hmi_apis::Common_ButtonName::PRESET_0));
- button_enum_name.insert(std::make_pair(
- std::string("PRESET_1"), hmi_apis::Common_ButtonName::PRESET_1));
- button_enum_name.insert(std::make_pair(
- std::string("PRESET_2"), hmi_apis::Common_ButtonName::PRESET_2));
- button_enum_name.insert(std::make_pair(
- std::string("PRESET_3"), hmi_apis::Common_ButtonName::PRESET_3));
- button_enum_name.insert(std::make_pair(
- std::string("PRESET_4"), hmi_apis::Common_ButtonName::PRESET_4));
- button_enum_name.insert(std::make_pair(
- std::string("PRESET_5"), hmi_apis::Common_ButtonName::PRESET_5));
- button_enum_name.insert(std::make_pair(
- std::string("PRESET_6"), hmi_apis::Common_ButtonName::PRESET_6));
- button_enum_name.insert(std::make_pair(
- std::string("PRESET_7"), hmi_apis::Common_ButtonName::PRESET_7));
- button_enum_name.insert(std::make_pair(
- std::string("PRESET_8"), hmi_apis::Common_ButtonName::PRESET_8));
- button_enum_name.insert(std::make_pair(
- std::string("PRESET_9"), hmi_apis::Common_ButtonName::PRESET_9));
- button_enum_name.insert(
- std::make_pair(std::string("CUSTOM_BUTTON"),
- hmi_apis::Common_ButtonName::CUSTOM_BUTTON));
- button_enum_name.insert(std::make_pair(std::string("SEARCH"),
- hmi_apis::Common_ButtonName::SEARCH));
- button_enum_name.insert(
- std::make_pair(std::string("NAV_CENTER_LOCATION"),
- hmi_apis::Common_ButtonName::NAV_CENTER_LOCATION));
- button_enum_name.insert(std::make_pair(
- std::string("NAV_ZOOM_IN"), hmi_apis::Common_ButtonName::NAV_ZOOM_IN));
- button_enum_name.insert(std::make_pair(
- std::string("NAV_ZOOM_OUT"), hmi_apis::Common_ButtonName::NAV_ZOOM_OUT));
- button_enum_name.insert(std::make_pair(
- std::string("NAV_PAN_UP"), hmi_apis::Common_ButtonName::NAV_PAN_UP));
- button_enum_name.insert(
- std::make_pair(std::string("NAV_PAN_UP_RIGHT"),
- hmi_apis::Common_ButtonName::NAV_PAN_UP_RIGHT));
- button_enum_name.insert(
- std::make_pair(std::string("NAV_PAN_RIGHT"),
- hmi_apis::Common_ButtonName::NAV_PAN_RIGHT));
- button_enum_name.insert(
- std::make_pair(std::string("NAV_PAN_DOWN_RIGHT"),
- hmi_apis::Common_ButtonName::NAV_PAN_DOWN_RIGHT));
- button_enum_name.insert(std::make_pair(
- std::string("NAV_PAN_DOWN"), hmi_apis::Common_ButtonName::NAV_PAN_DOWN));
- button_enum_name.insert(
- std::make_pair(std::string("NAV_PAN_DOWN_LEFT"),
- hmi_apis::Common_ButtonName::NAV_PAN_DOWN_LEFT));
- button_enum_name.insert(std::make_pair(
- std::string("NAV_PAN_LEFT"), hmi_apis::Common_ButtonName::NAV_PAN_LEFT));
- button_enum_name.insert(
- std::make_pair(std::string("NAV_PAN_UP_LEFT"),
- hmi_apis::Common_ButtonName::NAV_PAN_UP_LEFT));
- button_enum_name.insert(
- std::make_pair(std::string("NAV_TILT_TOGGLE"),
- hmi_apis::Common_ButtonName::NAV_TILT_TOGGLE));
- button_enum_name.insert(
- std::make_pair(std::string("NAV_ROTATE_CLOCKWISE"),
- hmi_apis::Common_ButtonName::NAV_ROTATE_CLOCKWISE));
- button_enum_name.insert(
- std::make_pair(std::string("NAV_ROTATE_COUNTERCLOCKWISE"),
- hmi_apis::Common_ButtonName::NAV_ROTATE_COUNTERCLOCKWISE));
- button_enum_name.insert(
- std::make_pair(std::string("NAV_HEADING_TOGGLE"),
- hmi_apis::Common_ButtonName::NAV_HEADING_TOGGLE));
-
- text_fields_enum_name.insert(std::make_pair(
- std::string("mainField1"), hmi_apis::Common_TextFieldName::mainField1));
- text_fields_enum_name.insert(std::make_pair(
- std::string("mainField2"), hmi_apis::Common_TextFieldName::mainField2));
- text_fields_enum_name.insert(std::make_pair(
- std::string("mainField3"), hmi_apis::Common_TextFieldName::mainField3));
- text_fields_enum_name.insert(std::make_pair(
- std::string("mainField4"), hmi_apis::Common_TextFieldName::mainField4));
- text_fields_enum_name.insert(std::make_pair(
- std::string("statusBar"), hmi_apis::Common_TextFieldName::statusBar));
- text_fields_enum_name.insert(std::make_pair(
- std::string("mediaClock"), hmi_apis::Common_TextFieldName::mediaClock));
- text_fields_enum_name.insert(std::make_pair(
- std::string("mediaTrack"), hmi_apis::Common_TextFieldName::mediaTrack));
- text_fields_enum_name.insert(std::make_pair(
- std::string("alertText1"), hmi_apis::Common_TextFieldName::alertText1));
- text_fields_enum_name.insert(std::make_pair(
- std::string("alertText2"), hmi_apis::Common_TextFieldName::alertText2));
- text_fields_enum_name.insert(std::make_pair(
- std::string("alertText3"), hmi_apis::Common_TextFieldName::alertText3));
- text_fields_enum_name.insert(
- std::make_pair(std::string("scrollableMessageBody"),
- hmi_apis::Common_TextFieldName::scrollableMessageBody));
- text_fields_enum_name.insert(
- std::make_pair(std::string("initialInteractionText"),
- hmi_apis::Common_TextFieldName::initialInteractionText));
- text_fields_enum_name.insert(
- std::make_pair(std::string("navigationText1"),
- hmi_apis::Common_TextFieldName::navigationText1));
- text_fields_enum_name.insert(
- std::make_pair(std::string("navigationText2"),
- hmi_apis::Common_TextFieldName::navigationText2));
- text_fields_enum_name.insert(
- std::make_pair(std::string("ETA"), hmi_apis::Common_TextFieldName::ETA));
- text_fields_enum_name.insert(
- std::make_pair(std::string("totalDistance"),
- hmi_apis::Common_TextFieldName::totalDistance));
- text_fields_enum_name.insert(std::make_pair(
- std::string("audioPassThruDisplayText1"),
- hmi_apis::Common_TextFieldName::audioPassThruDisplayText1));
- text_fields_enum_name.insert(std::make_pair(
- std::string("audioPassThruDisplayText2"),
- hmi_apis::Common_TextFieldName::audioPassThruDisplayText2));
- text_fields_enum_name.insert(
- std::make_pair(std::string("sliderHeader"),
- hmi_apis::Common_TextFieldName::sliderHeader));
- text_fields_enum_name.insert(
- std::make_pair(std::string("sliderFooter"),
- hmi_apis::Common_TextFieldName::sliderFooter));
- text_fields_enum_name.insert(
- std::make_pair(std::string("navigationText"),
- hmi_apis::Common_TextFieldName::navigationText));
- text_fields_enum_name.insert(
- std::make_pair(std::string("notificationText"),
- hmi_apis::Common_TextFieldName::notificationText));
- text_fields_enum_name.insert(std::make_pair(
- std::string("menuName"), hmi_apis::Common_TextFieldName::menuName));
- text_fields_enum_name.insert(
- std::make_pair(std::string("secondaryText"),
- hmi_apis::Common_TextFieldName::secondaryText));
- text_fields_enum_name.insert(
- std::make_pair(std::string("tertiaryText"),
- hmi_apis::Common_TextFieldName::tertiaryText));
- text_fields_enum_name.insert(
- std::make_pair(std::string("timeToDestination"),
- hmi_apis::Common_TextFieldName::timeToDestination));
- text_fields_enum_name.insert(
- std::make_pair(std::string("locationName"),
- hmi_apis::Common_TextFieldName::locationName));
- text_fields_enum_name.insert(
- std::make_pair(std::string("locationDescription"),
- hmi_apis::Common_TextFieldName::locationDescription));
- text_fields_enum_name.insert(std::make_pair(
- std::string("turnText"), hmi_apis::Common_TextFieldName::turnText));
- text_fields_enum_name.insert(
- std::make_pair(std::string("addressLines"),
- hmi_apis::Common_TextFieldName::addressLines));
- text_fields_enum_name.insert(std::make_pair(
- std::string("phoneNumber"), hmi_apis::Common_TextFieldName::phoneNumber));
- text_fields_enum_name.insert(
- std::make_pair(std::string("subtleAlertText1"),
- hmi_apis::Common_TextFieldName::subtleAlertText1));
- text_fields_enum_name.insert(
- std::make_pair(std::string("subtleAlertText2"),
- hmi_apis::Common_TextFieldName::subtleAlertText2));
- text_fields_enum_name.insert(std::make_pair(
- std::string("subtleAlertSoftButtonText"),
- hmi_apis::Common_TextFieldName::subtleAlertSoftButtonText));
- text_fields_enum_name.insert(std::make_pair(
- std::string("turnText"), hmi_apis::Common_TextFieldName::turnText));
- text_fields_enum_name.insert(std::make_pair(
- std::string("menuTitle"), hmi_apis::Common_TextFieldName::menuTitle));
-
- media_clock_enum_name.insert(std::make_pair(
- std::string("CLOCK1"), hmi_apis::Common_MediaClockFormat::CLOCK1));
- media_clock_enum_name.insert(std::make_pair(
- std::string("CLOCK2"), hmi_apis::Common_MediaClockFormat::CLOCK2));
- media_clock_enum_name.insert(std::make_pair(
- std::string("CLOCK3"), hmi_apis::Common_MediaClockFormat::CLOCK3));
- media_clock_enum_name.insert(
- std::make_pair(std::string("CLOCKTEXT1"),
- hmi_apis::Common_MediaClockFormat::CLOCKTEXT1));
- media_clock_enum_name.insert(
- std::make_pair(std::string("CLOCKTEXT2"),
- hmi_apis::Common_MediaClockFormat::CLOCKTEXT2));
- media_clock_enum_name.insert(
- std::make_pair(std::string("CLOCKTEXT3"),
- hmi_apis::Common_MediaClockFormat::CLOCKTEXT3));
- media_clock_enum_name.insert(
- std::make_pair(std::string("CLOCKTEXT4"),
- hmi_apis::Common_MediaClockFormat::CLOCKTEXT4));
-
- image_type_enum.insert(std::make_pair(std::string("STATIC"),
- hmi_apis::Common_ImageType::STATIC));
- image_type_enum.insert(std::make_pair(std::string("DYNAMIC"),
- hmi_apis::Common_ImageType::DYNAMIC));
-
- sampling_rate_enum.insert(std::make_pair(
- std::string("8KHZ"), hmi_apis::Common_SamplingRate::RATE_8KHZ));
- sampling_rate_enum.insert(std::make_pair(
- std::string("16KHZ"), hmi_apis::Common_SamplingRate::RATE_16KHZ));
- sampling_rate_enum.insert(std::make_pair(
- std::string("22KHZ"), hmi_apis::Common_SamplingRate::RATE_22KHZ));
- sampling_rate_enum.insert(std::make_pair(
- std::string("44KHZ"), hmi_apis::Common_SamplingRate::RATE_44KHZ));
-
- bit_per_sample_enum.insert(std::make_pair(
- std::string("RATE_8_BIT"), hmi_apis::Common_BitsPerSample::RATE_8_BIT));
- bit_per_sample_enum.insert(std::make_pair(
- std::string("RATE_16_BIT"), hmi_apis::Common_BitsPerSample::RATE_16_BIT));
-
- audio_type_enum.insert(
- std::make_pair(std::string("PCM"), hmi_apis::Common_AudioType::PCM));
-
- hmi_zone_enum.insert(std::make_pair(
- std::string("FRONT"), hmi_apis::Common_HmiZoneCapabilities::FRONT));
- hmi_zone_enum.insert(std::make_pair(
- std::string("BACK"), hmi_apis::Common_HmiZoneCapabilities::BACK));
-
- image_field_name_enum.insert(
- std::make_pair(std::string("softButtonImage"),
- hmi_apis::Common_ImageFieldName::softButtonImage));
- image_field_name_enum.insert(
- std::make_pair(std::string("choiceImage"),
- hmi_apis::Common_ImageFieldName::choiceImage));
- image_field_name_enum.insert(
- std::make_pair(std::string("choiceSecondaryImage"),
- hmi_apis::Common_ImageFieldName::choiceSecondaryImage));
- image_field_name_enum.insert(std::make_pair(
- std::string("vrHelpItem"), hmi_apis::Common_ImageFieldName::vrHelpItem));
- image_field_name_enum.insert(std::make_pair(
- std::string("turnIcon"), hmi_apis::Common_ImageFieldName::turnIcon));
- image_field_name_enum.insert(std::make_pair(
- std::string("menuIcon"), hmi_apis::Common_ImageFieldName::menuIcon));
- image_field_name_enum.insert(std::make_pair(
- std::string("cmdIcon"), hmi_apis::Common_ImageFieldName::cmdIcon));
- image_field_name_enum.insert(std::make_pair(
- std::string("appIcon"), hmi_apis::Common_ImageFieldName::appIcon));
- image_field_name_enum.insert(std::make_pair(
- std::string("graphic"), hmi_apis::Common_ImageFieldName::graphic));
- image_field_name_enum.insert(
- std::make_pair(std::string("secondaryGraphic"),
- hmi_apis::Common_ImageFieldName::secondaryGraphic));
- image_field_name_enum.insert(
- std::make_pair(std::string("showConstantTBTIcon"),
- hmi_apis::Common_ImageFieldName::showConstantTBTIcon));
- image_field_name_enum.insert(std::make_pair(
- std::string("showConstantTBTNextTurnIcon"),
- hmi_apis::Common_ImageFieldName::showConstantTBTNextTurnIcon));
- image_field_name_enum.insert(
- std::make_pair(std::string("locationImage"),
- hmi_apis::Common_ImageFieldName::locationImage));
- image_field_name_enum.insert(std::make_pair(
- std::string("alertIcon"), hmi_apis::Common_ImageFieldName::alertIcon));
- image_field_name_enum.insert(
- std::make_pair(std::string("subtleAlertIcon"),
- hmi_apis::Common_ImageFieldName::subtleAlertIcon));
-
- file_type_enum.insert(std::make_pair(std::string("GRAPHIC_BMP"),
- hmi_apis::Common_FileType::GRAPHIC_BMP));
- file_type_enum.insert(std::make_pair(
- std::string("GRAPHIC_JPEG"), hmi_apis::Common_FileType::GRAPHIC_JPEG));
- file_type_enum.insert(std::make_pair(std::string("GRAPHIC_PNG"),
- hmi_apis::Common_FileType::GRAPHIC_PNG));
- file_type_enum.insert(std::make_pair(std::string("AUDIO_WAVE"),
- hmi_apis::Common_FileType::AUDIO_WAVE));
- file_type_enum.insert(std::make_pair(std::string("AUDIO_MP3"),
- hmi_apis::Common_FileType::AUDIO_MP3));
- file_type_enum.insert(std::make_pair(std::string("AUDIO_AAC"),
- hmi_apis::Common_FileType::AUDIO_AAC));
- file_type_enum.insert(
- std::make_pair(std::string("BINARY"), hmi_apis::Common_FileType::BINARY));
- file_type_enum.insert(
- std::make_pair(std::string("JSON"), hmi_apis::Common_FileType::JSON));
-
- display_type_enum.insert(
- std::make_pair(std::string("CID"), hmi_apis::Common_DisplayType::CID));
- display_type_enum.insert(std::make_pair(std::string("TYPE2"),
- hmi_apis::Common_DisplayType::TYPE2));
- display_type_enum.insert(std::make_pair(std::string("TYPE5"),
- hmi_apis::Common_DisplayType::TYPE5));
- display_type_enum.insert(
- std::make_pair(std::string("NGN"), hmi_apis::Common_DisplayType::NGN));
- display_type_enum.insert(std::make_pair(
- std::string("GEN2_8_DMA"), hmi_apis::Common_DisplayType::GEN2_8_DMA));
- display_type_enum.insert(std::make_pair(
- std::string("GEN2_6_DMA"), hmi_apis::Common_DisplayType::GEN2_6_DMA));
- display_type_enum.insert(
- std::make_pair(std::string("MFD3"), hmi_apis::Common_DisplayType::MFD3));
- display_type_enum.insert(
- std::make_pair(std::string("MFD4"), hmi_apis::Common_DisplayType::MFD4));
- display_type_enum.insert(
- std::make_pair(std::string("MFD5"), hmi_apis::Common_DisplayType::MFD5));
- display_type_enum.insert(std::make_pair(
- std::string("GEN3_8_INCH"), hmi_apis::Common_DisplayType::GEN3_8_INCH));
- display_type_enum.insert(std::make_pair(
- std::string("SDL_GENERIC"), hmi_apis::Common_DisplayType::SDL_GENERIC));
-
- character_set_enum.insert(std::make_pair(
- std::string("TYPE2SET"), hmi_apis::Common_CharacterSet::TYPE2SET));
- character_set_enum.insert(std::make_pair(
- std::string("TYPE5SET"), hmi_apis::Common_CharacterSet::TYPE5SET));
- character_set_enum.insert(std::make_pair(
- std::string("CID1SET"), hmi_apis::Common_CharacterSet::CID1SET));
- character_set_enum.insert(std::make_pair(
- std::string("CID2SET"), hmi_apis::Common_CharacterSet::CID2SET));
- character_set_enum.insert(std::make_pair(
- std::string("ASCII"), hmi_apis::Common_CharacterSet::ASCII));
- character_set_enum.insert(std::make_pair(
- std::string("ISO_8859_1"), hmi_apis::Common_CharacterSet::ISO_8859_1));
- character_set_enum.insert(std::make_pair(
- std::string("UTF_8"), hmi_apis::Common_CharacterSet::UTF_8));
-
- video_streaming_protocol_enum.insert(std::make_pair(
- std::string("RAW"), hmi_apis::Common_VideoStreamingProtocol::RAW));
- video_streaming_protocol_enum.insert(std::make_pair(
- std::string("RTP"), hmi_apis::Common_VideoStreamingProtocol::RTP));
- video_streaming_protocol_enum.insert(std::make_pair(
- std::string("RTSP"), hmi_apis::Common_VideoStreamingProtocol::RTSP));
- video_streaming_protocol_enum.insert(std::make_pair(
- std::string("RTMP"), hmi_apis::Common_VideoStreamingProtocol::RTMP));
- video_streaming_protocol_enum.insert(std::make_pair(
- std::string("WEBM"), hmi_apis::Common_VideoStreamingProtocol::WEBM));
-
- video_streaming_codec_enum.insert(std::make_pair(
- std::string("H264"), hmi_apis::Common_VideoStreamingCodec::H264));
- video_streaming_codec_enum.insert(std::make_pair(
- std::string("H265"), hmi_apis::Common_VideoStreamingCodec::H265));
- video_streaming_codec_enum.insert(std::make_pair(
- std::string("Theora"), hmi_apis::Common_VideoStreamingCodec::Theora));
- video_streaming_codec_enum.insert(std::make_pair(
- std::string("VP8"), hmi_apis::Common_VideoStreamingCodec::VP8));
- video_streaming_codec_enum.insert(std::make_pair(
- std::string("VP9"), hmi_apis::Common_VideoStreamingCodec::VP9));
-}
-
-} // namespace
-
-namespace {
/**
* @brief Saves smart object content into the JSON node
* @param field_name name of the field to save
@@ -522,7 +118,6 @@ HMICapabilitiesImpl::HMICapabilitiesImpl(ApplicationManager& app_mngr)
, seat_location_capability_(NULL)
, app_mngr_(app_mngr)
, hmi_language_handler_(app_mngr) {
- InitCapabilities();
if (false == app_mngr_.get_settings().launch_hmi()) {
is_vr_cooperating_ = true;
is_tts_cooperating_ = true;
@@ -1187,14 +782,12 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() {
ui_display_capabilities_node, display_capabilities_so);
if (display_capabilities_so.keyExists(hmi_response::display_type)) {
- std::map<std::string,
- hmi_apis::Common_DisplayType::eType>::const_iterator it =
- display_type_enum.find(
+ auto enum_value =
+ ConvertStringToEnum<hmi_apis::Common_DisplayType::eType>(
(display_capabilities_so[hmi_response::display_type])
.asString());
- display_capabilities_so.erase(hmi_response::display_type);
- if (display_type_enum.end() != it) {
- display_capabilities_so[hmi_response::display_type] = it->second;
+ if (hmi_apis::Common_DisplayType::INVALID_ENUM != enum_value) {
+ display_capabilities_so[hmi_response::display_type] = enum_value;
}
}
@@ -1205,34 +798,34 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() {
for (uint32_t i = 0; i < kLen; ++i) {
if ((display_capabilities_so[hmi_response::text_fields][i])
.keyExists(strings::name)) {
- std::map<std::string,
- hmi_apis::Common_TextFieldName::eType>::const_iterator
- it_text_field_name = text_fields_enum_name.find(
+ auto enum_value =
+ ConvertStringToEnum<hmi_apis::Common_TextFieldName::eType>(
display_capabilities_so[hmi_response::text_fields][i]
[strings::name]
.asString());
+
display_capabilities_so[hmi_response::text_fields][i].erase(
strings::name);
- if (text_fields_enum_name.end() != it_text_field_name) {
+
+ if (hmi_apis::Common_TextFieldName::INVALID_ENUM != enum_value) {
display_capabilities_so[hmi_response::text_fields][i]
- [strings::name] =
- it_text_field_name->second;
+ [strings::name] = enum_value;
}
}
if ((display_capabilities_so[hmi_response::text_fields][i])
.keyExists(strings::character_set)) {
- std::map<std::string,
- hmi_apis::Common_CharacterSet::eType>::const_iterator
- it_characte_set = character_set_enum.find(
+ auto enum_value =
+ ConvertStringToEnum<hmi_apis::Common_CharacterSet::eType>(
display_capabilities_so[hmi_response::text_fields][i]
[strings::character_set]
.asString());
+
display_capabilities_so[hmi_response::text_fields][i].erase(
strings::character_set);
- if (character_set_enum.end() != it_characte_set) {
+
+ if (hmi_apis::Common_CharacterSet::INVALID_ENUM != enum_value) {
display_capabilities_so[hmi_response::text_fields][i]
- [strings::character_set] =
- it_characte_set->second;
+ [strings::character_set] = enum_value;
}
}
}
@@ -1243,13 +836,12 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() {
display_capabilities_so[hmi_response::image_fields];
for (uint32_t i = 0; i < array_image_fields.length(); ++i) {
if (array_image_fields[i].keyExists(strings::name)) {
- std::map<std::string,
- hmi_apis::Common_ImageFieldName::eType>::const_iterator
- it = image_field_name_enum.find(
+ auto enum_value =
+ ConvertStringToEnum<hmi_apis::Common_ImageFieldName::eType>(
(array_image_fields[i][strings::name]).asString());
array_image_fields[i].erase(strings::name);
- if (image_field_name_enum.end() != it) {
- array_image_fields[i][strings::name] = it->second;
+ if (hmi_apis::Common_ImageFieldName::INVALID_ENUM != enum_value) {
+ array_image_fields[i][strings::name] = enum_value;
}
}
if (array_image_fields[i].keyExists(
@@ -1261,12 +853,11 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() {
for (uint32_t k = 0, j = 0;
k < image_type_supported_array.length();
++k) {
- std::map<std::string,
- hmi_apis::Common_FileType::eType>::const_iterator it =
- file_type_enum.find(
+ auto enum_value =
+ ConvertStringToEnum<hmi_apis::Common_FileType::eType>(
(image_type_supported_array[k]).asString());
- if (file_type_enum.end() != it) {
- image_type_supported_enum[j++] = it->second;
+ if (hmi_apis::Common_FileType::INVALID_ENUM != enum_value) {
+ image_type_supported_enum[j++] = enum_value;
}
}
array_image_fields[i].erase(strings::image_type_supported);
@@ -1283,12 +874,11 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() {
smart_objects::SmartType_Array);
for (uint32_t i = 0, j = 0; i < media_clock_formats_array.length();
++i) {
- std::map<std::string,
- hmi_apis::Common_MediaClockFormat::eType>::const_iterator
- it = media_clock_enum_name.find(
+ auto enum_value =
+ ConvertStringToEnum<hmi_apis::Common_MediaClockFormat::eType>(
(media_clock_formats_array[i]).asString());
- if (media_clock_enum_name.end() != it) {
- media_clock_formats_enum[j++] = it->second;
+ if (hmi_apis::Common_MediaClockFormat::INVALID_ENUM != enum_value) {
+ media_clock_formats_enum[j++] = enum_value;
}
}
display_capabilities_so.erase(hmi_response::media_clock_formats);
@@ -1304,11 +894,11 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() {
smart_objects::SmartType_Array);
for (uint32_t i = 0, j = 0; i < image_capabilities_array.length();
++i) {
- std::map<std::string,
- hmi_apis::Common_ImageType::eType>::const_iterator it =
- image_type_enum.find((image_capabilities_array[i]).asString());
- if (image_type_enum.end() != it) {
- image_capabilities_enum[j++] = it->second;
+ auto enum_value =
+ ConvertStringToEnum<hmi_apis::Common_ImageType::eType>(
+ (image_capabilities_array[i]).asString());
+ if (hmi_apis::Common_ImageType::INVALID_ENUM != enum_value) {
+ image_capabilities_enum[j++] = enum_value;
}
}
display_capabilities_so.erase(hmi_response::image_capabilities);
@@ -1359,10 +949,13 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() {
if (!ui_hmi_zone_capabilities_node.isNull()) {
smart_objects::SmartObject hmi_zone_capabilities_so =
smart_objects::SmartObject(smart_objects::SmartType_Array);
- hmi_zone_capabilities_so =
- hmi_zone_enum.find(ui_hmi_zone_capabilities_node.asString())
- ->second;
- set_hmi_zone_capabilities(hmi_zone_capabilities_so);
+ auto enum_value =
+ ConvertStringToEnum<hmi_apis::Common_HmiZoneCapabilities::eType>(
+ ui_hmi_zone_capabilities_node.asString());
+ if (hmi_apis::Common_HmiZoneCapabilities::INVALID_ENUM != enum_value) {
+ hmi_zone_capabilities_so = enum_value;
+ set_hmi_zone_capabilities(hmi_zone_capabilities_so);
+ }
}
auto ui_soft_button_capabilities_node =
@@ -1425,26 +1018,23 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() {
continue;
}
- std::map<std::string,
- hmi_apis::Common_VideoStreamingProtocol::eType>::
- const_iterator it_protocol =
- video_streaming_protocol_enum.find(
- supported_format_array[i][strings::protocol]
- .asString());
-
- std::map<std::string,
- hmi_apis::Common_VideoStreamingCodec::eType>::
- const_iterator it_codec = video_streaming_codec_enum.find(
- supported_format_array[i][strings::codec].asString());
+ auto enum_value_protocol = ConvertStringToEnum<
+ hmi_apis::Common_VideoStreamingProtocol::eType>(
+ supported_format_array[i][strings::protocol].asString());
+ auto enum_value_codec = ConvertStringToEnum<
+ hmi_apis::Common_VideoStreamingCodec::eType>(
+ supported_format_array[i][strings::codec].asString());
// format is valid only if both protocol and codec are converted
// to enum values successfully
- if (it_protocol != video_streaming_protocol_enum.end() &&
- it_codec != video_streaming_codec_enum.end()) {
+ if (hmi_apis::Common_VideoStreamingProtocol::INVALID_ENUM !=
+ enum_value_protocol &&
+ hmi_apis::Common_VideoStreamingCodec::INVALID_ENUM !=
+ enum_value_codec) {
smart_objects::SmartObject format_so =
smart_objects::SmartObject(smart_objects::SmartType_Map);
- format_so[strings::protocol] = it_protocol->second;
- format_so[strings::codec] = it_codec->second;
+ format_so[strings::protocol] = enum_value_protocol;
+ format_so[strings::codec] = enum_value_codec;
converted_array[j++] = format_so;
}
}
@@ -1640,13 +1230,11 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() {
for (uint32_t i = 0; i < buttons_capabilities_so.length(); ++i) {
if ((buttons_capabilities_so[i]).keyExists(strings::name)) {
- std::map<std::string,
- hmi_apis::Common_ButtonName::eType>::const_iterator it =
- button_enum_name.find(
+ auto enum_value =
+ ConvertStringToEnum<hmi_apis::Common_ButtonName::eType>(
(buttons_capabilities_so[i][strings::name]).asString());
- buttons_capabilities_so[i].erase(strings::name);
- if (button_enum_name.end() != it) {
- buttons_capabilities_so[i][strings::name] = it->second;
+ if (hmi_apis::Common_ButtonName::INVALID_ENUM != enum_value) {
+ buttons_capabilities_so[i][strings::name] = enum_value;
}
}
}
@@ -2243,19 +1831,18 @@ void HMICapabilitiesImpl::convert_audio_capability_to_obj(
smart_objects::SmartObject& output_so) const {
if (JsonIsMemberSafe(capability, "samplingRate")) {
output_so[strings::sampling_rate] =
- sampling_rate_enum.find(capability.get("samplingRate", "").asString())
- ->second;
+ ConvertStringToEnum<hmi_apis::Common_SamplingRate::eType>(
+ capability.get("samplingRate", "").asString());
}
if (JsonIsMemberSafe(capability, "bitsPerSample")) {
output_so[strings::bits_per_sample] =
- bit_per_sample_enum
- .find(capability.get("bitsPerSample", "").asString())
- ->second;
+ ConvertStringToEnum<hmi_apis::Common_BitsPerSample::eType>(
+ capability.get("bitsPerSample", "").asString());
}
if (JsonIsMemberSafe(capability, "audioType")) {
output_so[strings::audio_type] =
- audio_type_enum.find(capability.get("audioType", "").asString())
- ->second;
+ ConvertStringToEnum<hmi_apis::Common_AudioType::eType>(
+ capability.get("audioType", "").asString());
}
}
diff --git a/src/components/application_manager/test/hmi_capabilities_old_apt.json b/src/components/application_manager/test/hmi_capabilities_old_apt.json
index 5a5af37e2f..56ae151caa 100644
--- a/src/components/application_manager/test/hmi_capabilities_old_apt.json
+++ b/src/components/application_manager/test/hmi_capabilities_old_apt.json
@@ -2,7 +2,7 @@
"UI": {
"audioPassThruCapabilities": {
"samplingRate": "22KHZ",
- "bitsPerSample": "RATE_16_BIT",
+ "bitsPerSample": "16_BIT",
"audioType": "PCM"
}
}
diff --git a/src/components/connection_handler/src/connection_handler_impl.cc b/src/components/connection_handler/src/connection_handler_impl.cc
index b9d1de8332..d4364af8df 100644
--- a/src/components/connection_handler/src/connection_handler_impl.cc
+++ b/src/components/connection_handler/src/connection_handler_impl.cc
@@ -944,6 +944,8 @@ ConnectionHandlerImpl::TransportTypeProfileStringFromDeviceHandle(
return std::string("IAP_CARPLAY");
} else if (connection_type == "CLOUD_WEBSOCKET") {
return std::string("WEBSOCKET");
+ } else if (connection_type == "WEBENGINE_WEBSOCKET") {
+ return std::string("WEBENGINE");
#ifdef BUILD_TESTS
} else if (connection_type == "BTMAC") {
return std::string("BTMAC");
diff --git a/src/components/policy/policy_regular/include/policy/policy_manager_impl.h b/src/components/policy/policy_regular/include/policy/policy_manager_impl.h
index 307697dd64..dff4802d82 100644
--- a/src/components/policy/policy_regular/include/policy/policy_manager_impl.h
+++ b/src/components/policy/policy_regular/include/policy/policy_manager_impl.h
@@ -869,7 +869,7 @@ class PolicyManagerImpl : public PolicyManager {
void ResetTimeout() OVERRIDE;
protected:
-#ifdef USE_HMI_PTU_DECRYPTION
+#if defined USE_HMI_PTU_DECRYPTION && defined PROPRIETARY_MODE
/**
* @brief Parse policy table content and convert to PT object
* @param pt_content binary content of PT
diff --git a/src/components/policy/policy_regular/src/policy_manager_impl.cc b/src/components/policy/policy_regular/src/policy_manager_impl.cc
index 36beeeb07f..daf043f96b 100644
--- a/src/components/policy/policy_regular/src/policy_manager_impl.cc
+++ b/src/components/policy/policy_regular/src/policy_manager_impl.cc
@@ -87,7 +87,7 @@ void PolicyManagerImpl::set_listener(PolicyListener* listener) {
update_status_manager_.set_listener(listener);
}
-#ifdef USE_HMI_PTU_DECRYPTION
+#if defined USE_HMI_PTU_DECRYPTION && defined PROPRIETARY_MODE
std::shared_ptr<policy_table::Table> PolicyManagerImpl::Parse(
const BinaryMessage& pt_content) {
@@ -331,7 +331,7 @@ PolicyManager::PtProcessingResult PolicyManagerImpl::LoadPT(
"PTU content is: " << std::string(pt_content.begin(), pt_content.end()));
-#ifdef USE_HMI_PTU_DECRYPTION
+#if defined USE_HMI_PTU_DECRYPTION && defined PROPRIETARY_MODE
// Assuemes Policy Table was parsed, formatted, and/or decrypted by
// the HMI after system request before calling OnReceivedPolicyUpdate
// Parse message into table struct