summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/hmi_interfaces_impl.cc
diff options
context:
space:
mode:
authorIra Lytvynenko (GitHub) <ILytvynenko@luxoft.com>2019-08-30 23:09:07 +0300
committerShobhit Adlakha <ShobhitAd@users.noreply.github.com>2019-08-30 16:09:07 -0400
commite7b5c75c704f6cd577f0857e4cbe17cf6ec160fa (patch)
treeb7c7c7703d70076a78b14e7d97668487aa14df49 /src/components/application_manager/src/hmi_interfaces_impl.cc
parent0186b8c46584aa86e96f0bfa8c38e735c3f0ac0a (diff)
downloadsdl_core-e7b5c75c704f6cd577f0857e4cbe17cf6ec160fa.tar.gz
Feature/Remote Control - Allow Multiple Modules per Module Type (#2984)
* Add new functionality to the interfaces * Add moduleId processing to the resource allocation manager Add GetResources function to helpers to get a list of resources Update unit tests with moduleID param Update command tests after updating the resource allocation manager * Add GetAcquiredModuleTypes and ReleaseModuleType functions for policy checking * Remove redundant SetResourceState call and fix UTs SetResourceState is called in RCCommandRequest::on_event function so it makes no sense to call it again RCCommandRequest::on_event * Add moduleInfo to default capabilities * Add ModuleId method to RCCommandRequest Add ModuleId method to RCCommandRequest for extracting module_id from command message. Update all inherited commands from RCCommandRequest. * Add ReleaseInteriorVehicleDataModule RPC Add ReleaseInteriorVehicleDataModuleRequest. Add ReleaseInteriorVehicleDataModuleResponse. Update ResourceAllocationManager interface: - add method ReleaseResource(); Update ResourceAllocationManagerImpl: - move ReleaseResource() from private section to public for implementing interface; * Add GetInteriorVehicleDataConsentRequest RPC Add GetInteriorVehicleDataConsentRequest without logic. Add GetInteriorVehicleDataConsentResponse. Update RCCommandFactory. * Refactor RC capabilities checking Create RCCapabilities manager, move all functions related to capabilities checking from commands into it. Move auxiliary functions to the rc_helpers. Create mock for RC capabilities manager Update UTs after RC capabilities manager adding * Use range based loop for smart objects with array type * Add ModuleId() function implementation Add const to the ModuleType() function Add function to get the moduleId from hmi capabilities Process missing moduleId param in HMI response In case if HMI doesn't provide the moduleId in response SDL will consider such response as invalid and send generic error response to the mobile Add moduleId to the hmi request * Add moduleId validation by capabilities and button_name for ButtonPress * Add moduleId validation by capabilities for GetIVD and SetIVD Add capabilities check to the rc_command_request * Add const to the capabilities check functions * Add function to get list of all available resources from hmi capabilities * Fix UTs after updating the capabilities check Update unit tests after obtaining available resources from capabilities * Add new HMI RPC SetGlobalProperties and save user_location of application Update SetGlobalPropertiesRequest - update PrepareResponseParameters method according to third new parameter "rc_properties"; * Add new parameter to ini file Add period for module_id consent expiring * Update interior vehicle data caching with moduleId processing Update unit tests that are related to caching with moduleId processing * Add separate file for RCRpcTypes * Add RCConsentManager - add interface RCConsetnManager - add implementation RCConsentManagerImpl - add new rc constants - add mock class for RCConsentManager Remove all consents after RC disabling Add checking ModuleConsent to RCCommandRequest Add logic for GetInteriorVehicleDataConsentRequest from Mobile Save the driver's decision when SDL sends the GIVDConsent request * Define Grid, add functions for getting moduleServiceArea and allowMultipleAccess values Add Seat Location capabilities checking and function for getting driver's location Check if the user location area and the service area has something in common, or the user location is driver, otherwise - reject the module reallocation request Fix UTs after adding the location check * Update SEAT module type processing Add converting id to moduleId: If the vehicle support at least one seat control, seat control capability includes at least two items. 1st for driver’s seat. 2nd for front passenger’s seat * Add SetGlobalProperties Unit tests Add Unit test for PrepareResultCodeForResponse method Add Unit test for PrepareResultForMobileResponse method * Add ReleaseInteriorVehicleDataModuleRequest Unit tests * Set resource to free if SIVD request is invalid * Add Grid Unit tests * Add ResourceAllocationManager Unit tests * Add MockRCHelpers. * Add ResourceAllocationManager Unit tests * Allocate resource after receiving successful response from HMI Send OnRCStatus notification only in case resource allocation state was changed * Rename function to indicate that it returns a list of module types * Rename typedef to indicate that it defines a pair moduleType and capabilitiesStatus * Fix functions descriptions * Rename function to indicate that it returns data related to the module type * Fix CheckIfModuleExistsInCapabilities function name * Update cached consents logic for GIVDC Behavior for cache consents has been updated according to the following comment: 1. If accessMode=AUTO_ALLOW, return true by default 2. If accessMode=AUTO_DENY, check if another app is using the resource a. If the resource is IN_USE, return false b. If the resource is FREE, return true 3. If accessMode=ASK_DRIVER, check if the consent is cached a. If it is cached, return that result b. If it is NOT cached, then prompt the driver for consent * Update logic for allowMultipleAccess=false
Diffstat (limited to 'src/components/application_manager/src/hmi_interfaces_impl.cc')
-rw-r--r--src/components/application_manager/src/hmi_interfaces_impl.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/components/application_manager/src/hmi_interfaces_impl.cc b/src/components/application_manager/src/hmi_interfaces_impl.cc
index 0e79930e89..d0e888efb2 100644
--- a/src/components/application_manager/src/hmi_interfaces_impl.cc
+++ b/src/components/application_manager/src/hmi_interfaces_impl.cc
@@ -236,6 +236,7 @@ generate_function_to_interface_convert_map() {
HmiInterfaces::HMI_INTERFACE_RC;
convert_map[RC_OnInteriorVehicleData] = HmiInterfaces::HMI_INTERFACE_RC;
convert_map[RC_OnRemoteControlSettings] = HmiInterfaces::HMI_INTERFACE_RC;
+ convert_map[RC_SetGlobalProperties] = HmiInterfaces::HMI_INTERFACE_RC;
convert_map[AppService_PublishAppService] =
HmiInterfaces::HMI_INTERFACE_AppService;
convert_map[AppService_UnpublishAppService] =