diff options
author | Ira Lytvynenko (GitHub) <ILytvynenko@luxoft.com> | 2019-08-30 23:09:07 +0300 |
---|---|---|
committer | Shobhit Adlakha <ShobhitAd@users.noreply.github.com> | 2019-08-30 16:09:07 -0400 |
commit | e7b5c75c704f6cd577f0857e4cbe17cf6ec160fa (patch) | |
tree | b7c7c7703d70076a78b14e7d97668487aa14df49 /src/components/application_manager/rpc_plugins/rc_rpc_plugin/include/rc_rpc_plugin/rc_command_factory.h | |
parent | 0186b8c46584aa86e96f0bfa8c38e735c3f0ac0a (diff) | |
download | sdl_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/rpc_plugins/rc_rpc_plugin/include/rc_rpc_plugin/rc_command_factory.h')
0 files changed, 0 insertions, 0 deletions