summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix build with disabled logger.fix/build_with_disabled_loggerMykola Korniichuk2019-09-043-0/+3
|
* Feature/Remote Control - Allow Multiple Modules per Module Type (#2984)Ira Lytvynenko (GitHub)2019-08-30111-1246/+7946
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* [SDL 0173] - Read Generic Network Signal Data Implementation (#2977)Alexander Kutsan (GitHub)2019-08-30247-7458/+12287
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Generate policy enums from MOBILE_API Policy manager HMI level enum reorder * Add RPC vehicle data and endpoint_properties to sdl_preloaded_pt Set default version of custom vehicle data mapping * Add VehicleDataItem to policy table SQL storage implementation for VehicleDataItems Fix validation of double values in policy table Change isDouble to isNumeric during validation double values "0" should be validated as correct double value Add validation vehicle data during PTU Send in PT snapshot only version of custom VDI - During snapshot generation remove vehicle data items section - Add validation for Policy table depended on PT type Fix wrong check for vehicle data snapshot Allow empty vehicle data in PTU Change max value of string for URL from 255 to INT_MAX * Make Policy Handler forward declared to avoid high coupling * Add vehicle_info_command_params for vehicle info plugin Vehicle info params added to hmi commands * Process CustomVehicleData in GetVehicleData request * CustomVehicleDataManager implementation * Process Custom vehicle data subscriptions Refactored code. Extracted CheckFrequency to separate method in class * Check update of content of functional groups Fixes https://github.com/smartdevicelink/sdl_core/issues/2962 Add additional check for functional group content before OnPermissionChangeNotification. * rename comparing functions to make more clear their return value sense * change variable names * extra check for null values in HasNewGroups() New unit test to cover changes within functional group * Add GetPolicyConfigurationData GetPolicyCOnfigurationData Implementation * Add CustomVehicleData functionality for POLICY_EXTERNAL flow Change max value url for external policy fixes for external flow * since unti validation for the database * empty vehicle data validation * Convert data_type to VehicleDataType enum value * Validation of VehicleDataItem name and key Introduces validation of vehicle_data_item name and key validation: * they should not contain spaces; * they should not be empty or consist only spaces; * they should not contain invalid chars like '!@#$%^&*'. * Add engineOilLife to HMI_API * Remove deprecated RPC GetUrls due to major version update * Add ability to extend Smart schema with parameters Extract SMember from CObjectSchemaItem Add methods to ISchemaItem (Using composite pattern) - GetMemberSchemaItem - AddMemberSchemaItem Add implementation of VehicleDataItemSchema class Add appropriate unit tests Add creation of vehicle_data items schemes on policy event
* Fixed app activation during resumption (#3001)Andriy Byzhynar (GitHub)2019-08-303-33/+31
| | | | | Fixed application activation/reactivation during resumption process Fixed related unit tests
* Feature/service status update to hmi (#2921)Maksym Ked (GitHub)2019-08-2982-205/+2230
| | | | | | | | | | | | | | | | | | | | | | | | | * Added OnServiceUpdate notification * Added handling of service status update - introduced ServiceStatusUpdateHandler and ServiceStatusUpdateHandlerListener interfaces - added lacking interface functions to corresponding entities - added notification of listeners - introduced ServiceStatusUpdateNotificationBuilder - replaced shared_ptr with unique_ptr - moved SERVICE_RECEIVED * Add UT's for service status update to HMI feature * Added ServiceStatusUpdateDocumentation * Added sending error on PTU retries exceed allowed count * Fix OnServiceUpdate for unsecure force protected service * Updates according to proposal changes Added new result codes for ServiceStatusUpdateReasonStructure
* Feature/rpc message protection (#2951)Maksym Ked (GitHub)2019-08-2985-193/+2442
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added encryption required flag to policy table. Also added RPC Encryption Manager Interface for comfortable access to policy table. * Added logic for processing RPC according to the proposal. * The permission change notification has been expanded. * Fixed UTs after implementation feature RPC message protection. * Fix multiframe issue * Fix style * Added storage of encryption required rpcs * Fix CI build * Extended logic adding encryption flag in message helper * Added permission check of encryption required for PROP * Added permission check of encryption required for EXT * Fixes after rebase * Answer PR comments - fixed typos - fixed 3rd party cmake * fixup! Added logic for processing RPC according to the proposal. * fixup! The permission change notification has been expanded. * Answer PR comments - renamed functions - added encryption_required flag to sql_pt_ext* source files - added condition and logging to CacheManager::GetApplicationParams * fixup! Added logic for processing RPC according to the proposal. * fixup! Added encryption required flag to policy table. * fixup! Added permission check of encryption required for EXT * fixup! Added permission check of encryption required for PROP * Fixes after rebase
* Fix/reject register too many requests (#2993)Collin2019-08-281-10/+18
| | | | | | | | * still init the RAI when we cannot find a session for the connection send a response to mobile when it tries to register no matter what * style script
* Merge pull request #2956 from smartdevicelink/fix/pipe_audiostream_cutoffShobhit Adlakha2019-08-284-0/+35
|\ | | | | Pipe audio streaming cutoff issue
| * Merge remote-tracking branch 'origin/develop' into fix/pipe_audiostream_cutofffix/pipe_audiostream_cutoffJackLivio2019-08-28288-5181/+18769
| |\ | |/ |/|
* | Merge pull request #2980 from smartdevicelink/feature/widget_supportJackLivio2019-08-26139-1155/+8885
|\ \ | | | | | | Feature/widget support
| * | fixup! Implement Resumption for widgetsfeature/widget_supportAndriy Byzhynar (GitHub)2019-08-257-5/+40
| | |
| * | Remove redundant condition lead to core crashAndriy Byzhynar2019-08-231-1/+7
| | |
| * | fixup! Fixes after rebaseAndriy Byzhynar (GitHub)2019-08-212-3/+6
| | |
| * | Fix nickname validation issue appeared after rebaseAndriy Byzhynar (GitHub)2019-08-211-3/+4
| | |
| * | Remove redundant policy handler code left after rebaseAndriy Byzhynar (GitHub)2019-08-211-5/+0
| | |
| * | fixup! Update Mobile & HMI API with new data types and parametersAndriy Byzhynar (GitHub)2019-08-211-4/+12
| | |
| * | Add app version check to SetDisplayLayout RPCAndriy Byzhynar (GitHub)2019-08-213-14/+78
| | | | | | | | | | | | | | | Added app version check and appropriate result code generation Updated old/added new unit tests
| * | Fix policy manager unit tests after rebaseAndriy Byzhynar (GitHub)2019-08-211-0/+4
| | |
| * | fixup! Send one OnSystemCapabilitiesUpdated on resumptionmked-luxoft2019-08-201-1/+1
| | |
| * | Fixes after rebasemked-luxoft2019-08-203-11/+5
| | |
| * | fixup! Update application and its dependenciesmked-luxoft2019-08-201-0/+25
| | |
| * | Add validation to CreateWindow requestmked-luxoft2019-08-205-0/+189
| | |
| * | Add accumulating window capabilitiesmked-luxoft2019-08-2014-25/+173
| | | | | | | | | | | | | | | | | | | | | | | | Accumulating window capabilities is needed so SDL can send mobile a full list of window capabilities in response to GetSystemCapabilities. At the same time, a new function display_capabilities(window_id) is introduced, so SDL can send window capabilities of only affected window to mobile.
| * | fixup! Update Mobile & HMI API with new data types and parametersmked-luxoft2019-08-202-2/+5
| | |
| * | Use window id as intmked-luxoft2019-08-207-11/+11
| | |
| * | fixup! Update logic of OnSystemContext for widget windowsmked-luxoft2019-08-201-1/+1
| | |
| * | fixup! Send one OnSystemCapabilitiesUpdated on resumptionmked-luxoft2019-08-201-3/+3
| | |
| * | fixup! Implement Resumption for widgetsmked-luxoft2019-08-206-7/+7
| | |
| * | Check hmi level of relevant window on button notificationsmked-luxoft2019-08-2013-19/+132
| | |
| * | fixup! Update Show RPCmked-luxoft2019-08-202-3/+15
| | |
| * | Rename DISPLAY to DISPLAYS according to the proposal revisionLitvinenkoIra2019-08-2012-30/+30
| | |
| * | Send one OnSystemCapabilitiesUpdated on resumptionmked-luxoft2019-08-2023-42/+454
| | |
| * | Update logic of OnSystemContext for widget windowsAndrii Kalinich2019-08-201-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updated logic for changing of the system context for widget windows. For a some system context types SDL is getting application pointer not by appId from notification but just a currently active application. It works properly when notification is adressed to the main window, but it works not as expected for the widget windows. If notification contains window id then system context change should be addressed to the application by appId, but not for a currently active.
| * | Implement Resumption for widgetsAndriy Byzhynar2019-08-2018-7/+689
| | | | | | | | | | | | | | | Implemented resumption for widget support Updated unit tests for data resumption
| * | Update Show RPCAndriy Byzhynar2019-08-203-11/+613
| | | | | | | | | | | | | | | | | | | | | Added new parameters "templateConfiguration" and "windowID" as well as their handling Added Show RPC new unit tests
| * | Update SetDisplayLayout RPCAndriy Byzhynar2019-08-202-15/+21
| | | | | | | | | | | | | | | | | | | | | | | | Updated SetDisplayLayout RPC: - Added mutual usage of templates in SetDisplayLayout and Show RPC to guarantee compatibility with old apps - Added WARNINGS as RPC is dperecated and SHOW RPC should be used instead - Updated related uni tests
| * | Implement hmi capabilties handlingAndriy Byzhynar2019-08-2015-23/+656
| | | | | | | | | | | | | | | | | | | | | Added handling of hmi capablities Updated related RPCs Updated unit tests Added unit tests for new RPCs
| * | Implement Policies changes and dependenciesAndriy Byzhynar2019-08-2014-22/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | Implemented policies for wodgets Fixed depenedencies Updated unit tests Fixed existing Uts, which have relation to CheckPermissions & CheckPolicyPermissions functions.
| * | Implement StateController changesAndriy Byzhynar2019-08-2018-478/+1340
| | | | | | | | | | | | | | | | | | Implemented changes in State Controller Fixed related dependencies Fixed unit tests
| * | Add window_id() method to Command classAndriy Byzhynar2019-08-204-0/+21
| | |
| * | Update OnHMIStatus notificationAndriy Byzhynar2019-08-2010-66/+40
| | |
| * | Add app automatic subscription to "DISPLAY" capabilities updatesAndriy Byzhynar2019-08-201-2/+8
| | |
| * | Implement BC.OnSystemCapabilitiesUpdated notification from HMIAndriy Byzhynar2019-08-206-4/+379
| | |
| * | Implement CreateWindow and DeleteWindow RPCsAndriy Byzhynar2019-08-2025-0/+2143
| | | | | | | | | | | | | | | | | | | | | | | | * Implemented new RPCs: CreateWindow & DeleteWindow * UTs for CreateWindow RPC. * UTs for DeleteWindow RPC.
| * | Update application and its dependenciesAndriy Byzhynar2019-08-2048-416/+1161
| | | | | | | | | | | | | | | | | | Updated application interface and its implementation Updated application state and its implementation Updated Smart object keys
| * | Update Mobile & HMI API with new data types and parametersmked-luxoft2019-08-202-67/+524
| | |
* | | Fix shutdown crash static var colission (#2939)Alexander Kutsan (GitHub)2019-08-2237-108/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add apropriate destruction of plugins Add Delete exported function to each rpc plugin library Delete funciton will destroy Plugin instance. Move type defenition of PluginPtr to Plugin manager, because other components should use olugins only by referance. Add custom destructor for PluginPtr. custom destructor will call `Delete` function from shared library for plugin instance and unload plugin dl_handle. Deprecate GetPlugins method because it not used (and actualy shouldnt) by other components. Refactored LoadPlugin function, make it more readable, make this function as private RPCPluginManagerImpl private method. * Fix components dependencies after hiding libraries symbols * Add `-fvisibility=hidden` to avoid collision of static variables Remove from ABI all shared objects members except functions that needed. Fixes double destruction crash on shutdown. For the case if dynamically linked library contains same static variables as binary. System allocates the same memory for both static variables (in shared object and in binary). But during exit both binary and shared object destroying this memory. Mostly is a specific for binaries generated by gcc compiler. Inspired by https://stackoverflow.com/questions/3570355/c-fvisibility-hidden-fvisibility-inlines-hidden http://gcc.gnu.org/wiki/Visibility * Link Policy code statically SDL components like Application manager Connection Handler, etc ... requires symbols from policy library. Also policy library loaded by SDL in run-time as shared library. Having same library loaded as dynamic and shared library is definitely bad idea. This commit link extract static policy component and link policy component statically to other components. * Static linkage of plugins code un plugins unit tests Unit tests need to be portable and should not depend from dynamic libraries * Put logs_enabled_ "default" visibility attribute Logs enables is static variable and it should be shared across libraries. On SDL start if set_enabled_logs should put value shared across libraries * Changed the order of destruction of objects Changed the order of destruction of objects to avoid the crash during destruction of the RequestController. * Change the order of the waiting and finishing thread Applications using hotplug support should stop the thread at program exit and wait finishing thread after calling libusb_hotplug_deregister_callback. This call wakes up libusb_handle_events () http://libusb.sourceforge.net/api-1.0/group__libusb__asyncio.html * fixup! Add apropriate destruction of plugins * Make saftly usage of logger Added usage unique_ptr for LogMessageLoopThread to avoid the crash when delete_log_message_loop_thread was not fired.
* | | update API to reflect proposal revisions (#2994)Collin2019-08-212-4/+4
| | |
* | | Feature/Pixel density and scale (#2757)Igor Gapchuk (GitHub)2019-08-216-2/+35
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Feature/Pixel density and scale Add new parameters to VideoStreamingCapability structure: - diagonalScreenSize - diagonal screen size of the screen; - pixelPerInch - Pixel per inch (PPI) of the screen; - scale - Scale value to determine how the app should scale the captured view. Add new parameters with default values to hmi_capabilities.json: - diagonalScreenSize - pixelPerInch - scale * Add min and max value for "scale" parameter. Add min and max values for parameter scale in Structs index for VideoStreamingCapabilities struct.
* | Merge pull request #2034 from shoamano83/feat/sdl-0138_audio_pass_thru_arrayJackLivio2019-08-2015-63/+190
|\ \ | | | | | | Feat/sdl 0138 audio pass thru array