diff options
author | Andrey Oleynik <AOleynik@luxoft.com> | 2014-04-09 18:35:46 +0300 |
---|---|---|
committer | Justin Dickow <jjdickow@gmail.com> | 2014-07-09 14:11:13 -0400 |
commit | ac6c148be3aef7d1eb4f940d58f45ff9fbb54a5d (patch) | |
tree | 71ac481dc8f9ad670887aca5d65ef50e50792eb8 | |
parent | feb253556bca194d16a451917244f9a5489c356c (diff) | |
download | smartdevicelink-ac6c148be3aef7d1eb4f940d58f45ff9fbb54a5d.tar.gz |
APPLNIK-6608. GetSystemInfo request/response implementation.
5 files changed, 59 insertions, 9 deletions
diff --git a/src/components/application_manager/include/application_manager/policies/policy_handler.h b/src/components/application_manager/include/application_manager/policies/policy_handler.h index 3695c6a66..0801c7e85 100644 --- a/src/components/application_manager/include/application_manager/policies/policy_handler.h +++ b/src/components/application_manager/include/application_manager/policies/policy_handler.h @@ -179,6 +179,21 @@ class PolicyHandler : public utils::Singleton<PolicyHandler>, void OnSystemInfoChanged(const std::string& language); /** + * @brief Save data from GetSystemInfo request to policy table + * @param ccpu_version CCPU version + * @param wers_country_code WERS country code + * @param language System language + */ + void OnGetSystemInfo(const std::string& ccpu_version, + const std::string& wers_country_code, + const std::string& language); + + /** + * @brief Send request to HMI to get update on system parameters + */ + virtual void OnSystemInfoUpdateRequired(); + + /** * Adds statistics info * @param type type of info */ diff --git a/src/components/application_manager/src/hmi_command_factory.cc b/src/components/application_manager/src/hmi_command_factory.cc index 34db1df71..51b3e513b 100644 --- a/src/components/application_manager/src/hmi_command_factory.cc +++ b/src/components/application_manager/src/hmi_command_factory.cc @@ -69,6 +69,8 @@ #include "application_manager/commands/hmi/on_put_file_notification.h" #include "application_manager/commands/hmi/on_ignition_cycle_over_notification.h" #include "application_manager/commands/hmi/on_system_info_changed_notification.h" +#include "application_manager/commands/hmi/get_system_info_request.h" +#include "application_manager/commands/hmi/get_system_info_response.h" #include "application_manager/commands/hmi/close_popup_request.h" #include "application_manager/commands/hmi/close_popup_response.h" #include "application_manager/commands/hmi/button_get_capabilities_request.h" @@ -306,6 +308,14 @@ CommandSharedPtr HMICommandFactory::CreateCommand( } break; } + case hmi_apis::FunctionID::BasicCommunication_GetSystemInfo: { + if (is_response) { + command.reset(new commands::GetSystemInfoResponse(message)); + } else { + command.reset(new commands::GetSystemInfoRequest(message)); + } + break; + } case hmi_apis::FunctionID::SDL_ActivateApp: { if (is_response) { command.reset(new commands::SDLActivateAppResponse(message)); @@ -1067,15 +1077,7 @@ CommandSharedPtr HMICommandFactory::CreateCommand( command.reset(new commands::UpdateSDLRequest(message)); } break; - } - case hmi_apis::FunctionID::BasicCommunication_OnAppPermissionChanged: { - command.reset(new commands::OnAppPermissionChangedNotification(message)); - break; - } - case hmi_apis::FunctionID::BasicCommunication_OnAllowApp: { - command.reset(new commands::OnAllowAppNotification(message)); - break; - }*/ + */ case hmi_apis::FunctionID::BasicCommunication_OnIgnitionCycleOver: { command.reset(new commands::OnIgnitionCycleOverNotification(message)); break; diff --git a/src/components/application_manager/src/message_helper.cc b/src/components/application_manager/src/message_helper.cc index 7994cf20f..0fb26cb4f 100644 --- a/src/components/application_manager/src/message_helper.cc +++ b/src/components/application_manager/src/message_helper.cc @@ -1898,6 +1898,27 @@ void MessageHelper::SendOnStatusUpdate(const std::string& status) { ApplicationManagerImpl::instance()->ManageHMICommand(message); } +void MessageHelper::SendGetSystemInfoRequest() { + smart_objects::SmartObject* message = new smart_objects::SmartObject( + smart_objects::SmartType_Map); + if (!message) { + return; + } + + (*message)[strings::params][strings::function_id] = + hmi_apis::FunctionID::BasicCommunication_GetSystemInfo; + (*message)[strings::params][strings::message_type] = + MessageType::kRequest; + (*message)[strings::params][strings::correlation_id] = + ApplicationManagerImpl::instance()->GetNextHMICorrelationID(); + (*message)[strings::params][strings::protocol_version] = + commands::CommandImpl::protocol_version_; + (*message)[strings::params][strings::protocol_type] = + commands::CommandImpl::hmi_protocol_type_; + + ApplicationManagerImpl::instance()->ManageHMICommand(message); +} + mobile_apis::Result::eType MessageHelper::VerifyImageFiles( smart_objects::SmartObject& message, ApplicationConstSharedPtr app) { if (NsSmartDeviceLink::NsSmartObjects::SmartType_Array == message.getType()) { diff --git a/src/components/application_manager/src/policies/policy_handler.cc b/src/components/application_manager/src/policies/policy_handler.cc index ebb87f16e..f20ef96fe 100644 --- a/src/components/application_manager/src/policies/policy_handler.cc +++ b/src/components/application_manager/src/policies/policy_handler.cc @@ -323,6 +323,18 @@ void PolicyHandler::OnSystemInfoChanged(const std::string& language) { policy_manager_->SetSystemLanguage(language); } +void PolicyHandler::OnGetSystemInfo(const std::string& ccpu_version, + const std::string& wers_country_code, + const std::string& language) { + LOG4CXX_INFO(logger_, "OnGetSystemInfo"); + policy_manager_->SetSystemInfo(ccpu_version, wers_country_code, language); +} + +void PolicyHandler::OnSystemInfoUpdateRequired() { + LOG4CXX_INFO(logger_, "OnSystemInfoUpdateRequired"); + application_manager::MessageHelper::SendGetSystemInfoRequest(); +} + void PolicyHandler::OnAppRevoked(const std::string& policy_app_id) { LOG4CXX_INFO(logger_, "OnAppRevoked"); if (!policy_manager_) { diff --git a/src/components/policy b/src/components/policy -Subproject bb04121e5d947c2cffb395b840d5faf83797d97 +Subproject a39fc98a0f29a115834c6acdad7288824e4b2e7 |