| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add unit tests
* Fix subscription to app services
* fixup! Fix subscription to app services
* fixup! Add unit tests
* fixup! Add unit tests
* fixup! Fix subscription to app services
* fixup! Fix subscription to app services
* fixup! Add unit tests
* fixup! Add unit tests
* fixup! Add unit tests
|
|
|
|
|
|
|
|
| |
Added custom deleter for logger
Added flush logger during each handle deleting
Added deleting logger thread during destroy each plugin
This changes are necessary to avoid deadlock
during work with log4cxx.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
| |
src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/unpublish_app_service_request.cc
Co-Authored-By: Jacob Keeler <jacob.keeler@livioradio.com>
|
| |
|
| |
|
|
|
|
| |
Also fix style
|
|\
| |
| |
| | |
feature/update_and_unpublish_app_service
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
# Conflicts:
# src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/rc_command_factory.cc
# src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/mobile_command_factory.cc
# src/components/transport_manager/src/cloud/cloud_websocket_transport_adapter.cc
# src/components/transport_manager/test/include/transport_manager/cloud/sample_websocket_server.h
# src/components/transport_manager/test/sample_websocket_server.cc
# src/components/transport_manager/test/transport_adapter_test.cc
# src/components/transport_manager/test/websocket_connection_test.cc
|
| |\
| | |
| | | |
Send full image paths to HMI in AppServiceData
|
| | | |
|
| |/ |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
smartdevicelink/hotfix/on_app_service_data_error_cases
Add checks for error cases in OnAppServiceData
|
| |
| |
| | |
Co-Authored-By: jacobkeeler <jacob.keeler@livioradio.com>
|
| | |
|
| |
| |
| | |
Co-Authored-By: jacobkeeler <jacob.keeler@livioradio.com>
|
|/ |
|
|
|
|
|
|
|
|
| |
type/service id (#2880)
* Added error response for AppService.GetAppServiceData request with unknown service type
* Addressed review comments
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |\
| | |
| | |
| | |
| | | |
smartdevicelink/feature/cloud_app_auth_token_unit_tests
Cloud app properties unit tests
|
| | | |
|
| | | |
|
| | | |
|
|/ / |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Initial app service app extension
* Add GetAppServiceData rpc templates.
* Add request to mobile, and fix HMI GASD naming
* Add Core->Mobile Requests and Responses
* HMI GetAppService Request/Response to hmi and from hmi.
* Add mobile on event handling
* Fix GASD Response From Mobile
* Add PerformAppServiceInteraction RPC
* Fixes for GetAppServiceData subscribe, and OnAppServiceData
Fixes allow for multiple consumers on a single app service type. Consumer/provider can be any combination of an ios app(s), android app(s), or an ivi HMI app(s).
* Update AppServicetype to string and fix unit tests
* Implemented RpcPassThroughTimeout param and IncreaseForwardedRequestTimeout function
* Address review comments
* Fixed build tests
* Fix style
* Address comments
* Address comments
* Pass info from provider in GASD response
* Implemented boolean paramter to keep/remove unknown RPC paramaters
* Added plugin keys
* Implemented allowing unknown rpc params if function is handled by AS plugin or is related to SystemCapability
* Implemented handling unknown params for OSCU notifications
* Fixed build tests
* Implemented handling unknown params for RPC Passing
* Initial implementation of RPC Passing
* fixed UNSUPPORTED_REQUEST case
* Moved RPCPassing implementation into seperate class
* Implemented passthrough request timeout
* Addressed style and formatting comments
* Put RPCPassingHandler in seperate file
* Removed unused request/response file (based on review comment r263121367)
* Fixed timeout implementation
* Created functions for handling forwarding requests/responses to core and mobile
* Moved Populating request queue functionality to seperate function
* Changed implementation to use one map with the original request and a queue of app service information
* Fixed timeout implementation
* Seperated RPCPassing checks from IsAppServiceRPC checks
* Added locks for request and timeout queues
* Addressed review comments
* Fixed rpc_passing_handler_ initializer and added comments
* Reduced scope of locks for rpc_passing_queue
|
|\
| |
| |
| | |
'origin/feature/base_app_services_implementation' into feature/forwarded_request_timeout
|
| |\
| | |
| | | |
App Services Fixes
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Also modify getter functions for services
|
| |/
| |
| |
| |
| |
| |
| |
| | |
* Remove URI Scheme and URI Prefix
* Remove ValidateManifest()
* Style
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add PerformAppServiceInteraction RPC
* Add handling for `requestServiceActive` parameter
* Fix style
* Change PerformAppServiceInteraction class naming
Clarify direction in class name
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Initial app service app extension
* Add GetAppServiceData rpc templates.
* Add request to mobile, and fix HMI GASD naming
* Add Core->Mobile Requests and Responses
* HMI GetAppService Request/Response to hmi and from hmi.
* Add mobile on event handling
* Fix GASD Response From Mobile
* Fixes for GetAppServiceData subscribe, and OnAppServiceData
Fixes allow for multiple consumers on a single app service type. Consumer/provider can be any combination of an ios app(s), android app(s), or an ivi HMI app(s).
* Update AppServicetype to string and fix unit tests
* Address review comments
* Address comments
* Address comments
* Pass info from provider in GASD response
|
|\
| |
| | |
App Service Policy Implementation
|