diff options
Diffstat (limited to 'src/components/application_manager/src/commands/mobile/delete_interaction_choice_set_request.cc')
-rw-r--r-- | src/components/application_manager/src/commands/mobile/delete_interaction_choice_set_request.cc | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/src/components/application_manager/src/commands/mobile/delete_interaction_choice_set_request.cc b/src/components/application_manager/src/commands/mobile/delete_interaction_choice_set_request.cc index 1fcd4b33d..18c6b3b08 100644 --- a/src/components/application_manager/src/commands/mobile/delete_interaction_choice_set_request.cc +++ b/src/components/application_manager/src/commands/mobile/delete_interaction_choice_set_request.cc @@ -50,7 +50,7 @@ DeleteInteractionChoiceSetRequest::~DeleteInteractionChoiceSetRequest() { } void DeleteInteractionChoiceSetRequest::Run() { - LOG4CXX_INFO(logger_, "DeleteInteractionChoiceSetRequest::Run"); + LOG4CXX_AUTO_TRACE(logger_); ApplicationSharedPtr app = ApplicationManagerImpl::instance()->application( (*message_)[strings::params][strings::connection_key].asUInt()); @@ -86,25 +86,32 @@ void DeleteInteractionChoiceSetRequest::Run() { app->RemoveChoiceSet(choise_set_id); - SendResponse(true, mobile_apis::Result::SUCCESS); - /*CreateHMIRequest(hmi_apis::FunctionID::UI_DeleteInteractionChoiceSet, - msg_params, true);*/ + // Checking of HMI responses will be implemented with APPLINK-14600 + const bool result = true; + SendResponse(result, mobile_apis::Result::SUCCESS); + if (result) { + app->UpdateHash(); + } } bool DeleteInteractionChoiceSetRequest::ChoiceSetInUse(ApplicationConstSharedPtr app) { if (app->is_perform_interaction_active()) { // retrieve stored choice sets for perform interaction - const PerformChoiceSetMap& choice_set_map = app - ->performinteraction_choice_set_map(); + const DataAccessor<PerformChoiceSetMap> accessor = + app->performinteraction_choice_set_map(); + const PerformChoiceSetMap& choice_set_map = accessor.GetData(); PerformChoiceSetMap::const_iterator it = choice_set_map.begin(); for (; choice_set_map.end() != it; ++it) { - if (it->first - == (*message_)[strings::msg_params] - [strings::interaction_choice_set_id].asUInt()) { - LOG4CXX_ERROR_EXT(logger_, - "DeleteInteractionChoiceSetRequest::ChoiceSetInUse"); - return true; + const PerformChoice& choice = it->second; + PerformChoice::const_iterator choice_it = choice.begin(); + for (; choice.end() != choice_it; ++choice_it) { + if (choice_it->first == (*message_)[strings::msg_params] + [strings::interaction_choice_set_id].asUInt()) { + LOG4CXX_ERROR_EXT(logger_, + "DeleteInteractionChoiceSetRequest::ChoiceSetInUse"); + return true; + } } } } |