| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
* Add the DialNumber RPC to the Base-4 and Base-6 functional groups
* Move DialNumber into a separate functional group
* Fix added functional group
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Wait for UsbHandler thread end in UsbHandler dtor
The Thread dedicated for handling libusb events should exit
successfully on it's own.
This guarantees that `libusb_close()` being called on all
devices, as well as `libusb_exit()` call is properly sequenced.
Thread exits in recommended by libusb doc way:
1. set exit flag
2. deregister hotplug callbacks, which will wake up
`libusb_handle_events()` once again.
But this commit changes the way the Thread being joined. It
ensures that `join()` is called with `kNoStop` flag, which
prevents force stop using `pthread_cancel()`.
* Using atomic bool for shutdown_requested_ flag
Making UsbHandler::shutdown_requested_ flag atomic to guarantee
mutual access to it.
exchange() call is needed for helgrind to feel sure that there is
no data race.
* Remove redundant DCHECK
This assertion has been exposed by the current fix
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Re-order rai logic for plugins
* style
* Add mock method
* Add method descriptions
* Add timing content
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix 3173 bug:multi-thread access one pointer at same time caused a wild pointer problem in HMICapabilitiesImpl class
* modify test code for 3173
* fix Unit tests
* Fix merge conflicts
Co-authored-by: zhangwenqin <zhangwenqin@iauto.com>
|
|
|
|
|
|
| |
In a while called method locks mutex for protecting
data and if USB connection is failed it means that
method will call and will try to lock the same mutex
again. That's why this mutex should be recursive.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix streamer activity in case of suspend
The problem of the current implementation is that SDL
kills streaming thread responsible for sending a/v
streaming data to HMI when streaming timeout expires.
This issue is observed when mobile app dumps 10-seconds
audio file to SDL during 2 seconds and after that app
does not send any data. In that case HMI will play
audio file during 2 seconds + timeout = 5 seconds. At
the 5th second SDL just kills streaming thread with all
pending messages, however audio service is still open.
As a result not a whole audio file is played.
The correct behavior from SDL side in that case is not
kill streaming thread when streaming timeout was expired.
SDL should kill streaming thread only when service is
actually stopped.
Current SDL behavior was updated to align with a correct
behavior described above.
* Adjust fix to work with audio socket streaming
* Revert "[WIP] initial fix of socket streaming by guessing playback time (#3057)"
This reverts commit 7c442abce73c462e7724a64b3ce037bcb8e9093e.
* Remove unused code after revert
* Fix style issues
|
| |
|
|
|
|
| |
GetInteriorVehicle request RPC should process the next result codes as success:
WRONG_LANGUAGE, RETRY, SAVED.
|
|
|
|
|
|
|
|
|
|
| |
This commit makes no functional or insecure changes.
It only prevents possible SIGSEGVs.
Don't use raw pointers to WebsocketSession in almost all cases.
For function arguments, pointers changed to references
for preventing null pointer occurrence.
For containers pointers changed to weak_ptr for preventing
expired references.
Removed wrong inheritance for CMessageBroker
|
|\
| |
| |
| |
| | |
LuxoftSDL/fix/move_duplicate_conversion_functions_to_message_helper
Move duplicate conversion functions to Message Helper
|
| | |
|
| |\
| |/
|/|
| | |
fix/move_duplicate_conversion_functions_to_message_helper
|
| |
| |
| |
| | |
corresponding unit test (#3389)
|
|\ \
| | |
| | | |
Ignore playTone if provided without TTSChunks
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Fix noExplicitConstructor issue
* Fix functionConst issues
* Fix unusedFunction and unusedField issues
* Fix redundantInitialization
* Fix unreadVariable and unusedVariable issues
* Fix postfixOperator issue
* Fix variableScope issue
* Fix invalidPrintfArgType_sint and unsignedLessThanZero issues
* Fix other errors
* Add changes, related to functions marked as unused
* Fix new issues
* Fixe review comment
* Fix codestyle
* Fix constParameter errors
* Fix functionConst errors
* Fix noExplicitConstructor, redundantInitialization errors
* Fix unreadVariable errors
* Fix shadowVariable error
* Fix useStlAlgorithm errors
* Fixe variableScope error, add FIXME comment
* Fix code style
* Fix compile error
* Remove unsued function
* Fix compile error
Co-authored-by: Vladislav Semenyuk <vsemenyuk@luxoft.com>
|
|/ /
| |
| |
| |
| |
| | |
Regarding of Helgrind report.
Changed type of TcpClientListener::thread_stop_requested_
from bool to std::atomic_bool.
The same for remove_devices_on_terminate_
|
| | |
|
| |
| |
| |
| |
| | |
Replace bool flag 'is_stopping_' in class
ApplicationManagerImpl and remove mutex
'stopping_application_mng_lock_'.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There was found a few places inside of ApplicationManager
where `applications_` and `apps_to_register_` members were
used without locks however these members are commonly used
and must be synchronized in all places.
To avoid potential data races, direct usage of these elements
were replaced with accessor for read-only operations.
Also was added a missing lock.
|
|\ \ |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
LuxoftSDL/fix/fix_enums_conversion_in_hmi_capabilities
Fix/fix enums conversion in hmi capabilities
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
There were found a couple of hardcoded HMI capabity enum to
string values and some of them were outdated. This legacy
code can be easily replaced with the templated function
supplied from generated API.
By that reason, all hardcoded pairs and maps were removed
and replaced with a common function.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* add webengine_websocket to TransportTypeProfileStringFromDeviceHandle
* differentiate transport name from cloud
* add WEBSOCKET and WEBENGINE devices to ini file
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Replace check for already existed subscriptions
* Delete unused enum
* Update unit tests and add new unit test
|
| |/ /
|/| | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
* Update README.md
* fixup! Update README.md
|
|\ \ \
| |/ /
|/| | |
Add fixes for new Coverity issues
|
| | |
| | |
| | |
| | | |
Fixes CID 214309, 214305, 214304
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add is_ready flag to apps and handle sending OnHMIStatus after RAI response
* Add mock functions
* Address review comments
* Only send delayed onHMIStatus if RAI was a success
* Prevent secondary hmi level none to cloud apps
* Move enabled check to last when init new cloud app
Co-authored-by: JackLivio <jack@livio.io>
|
|\ \
| | |
| | | |
Fix HMI API description typos
|
|/ /
| |
| |
| | |
Resolves issue 3504
|
| | |
|
| | |
|
| |\
| |/
|/|
| | |
fix/move_duplicate_conversion_functions_to_message_helper
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add changes related to AppExtension and RCAppExtension
* Change OnTimeOut() method in affected requests
* Add changes related to ApplicationHelper class
* Add changes related to EventDispatcher
* Fill subscription data for all pending requests
Changed SDL logic to update subscription results for
each pending subscription request before notifying
resumption processor about current subscription is
processed.
This should be done beforehand because after raising
event to processor it can finish resumption process
and if it has failed then it can trigger sending of
the next subscription request. So at that point, each
subscription request should contain updated subscriptions
status, otherwise some redundant requests might be sent.
* Add RC data to resumption data processor
* Add RCPendingResumptionHandler class
* Process timeout for get interior vehicle data
* Revert Interior vehicle data
* Add resumption logic to RC app extension
* Resumption logic in RC plugin
* Helpers RC functions
* Update hash for RC data
* Filter RC subscriptions in vehicle data plugin
* UTs for the RCPendingResumptionHandler
Co-authored-by: Yana Chernysheva <ychernysheva@luxoft.com>
Co-authored-by: Andrii Kalinich (GitHub) <AKalinich@luxoft.com>
Co-authored-by: Aleksandr Kutsan <AKutsan@luxoft.com>
Co-authored-by: Igor Gapchuk <igapchuck@luxoft.com>
Co-authored-by: sniukalov <sniukaov@luxoft.com>
Co-authored-by: Dmitriy Boltovskiy <dboltovskyi@luxoft.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add reason param to StartService and EndService NAK payloads
* Update the default protocol version
* Fix unit tests
* Implement minor version check for reason param
* Fix unit tests
* Apply suggestions from code review
Co-authored-by: Collin <iCollin@users.noreply.github.com>
* Make semantic versions const and fix handshake NAK reason messages
* Make reason a required param
* Add error check for protocolversionused call
* Use full version for reason param version check
* Get protocol NAK reason from OnSessionEndedCallback
* Fix failing unit tests
* Remove unnecessary condition from protected/unprotected reason check
* Add unit tests for NACK reason param
* Add unit test for EndServiceNAK with reason param
* Fix calltimes in StartSession_NACKReason_SessionObserverReject
* Get reason string for service start failed
* Add more details to the invalid cert nak reason
Co-authored-by: Collin <iCollin@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add changes to RAI request
* Add new class ResumptionDataProcessor
* Add new class SDLAppExtension
* Add new class ExtensionPendingResumptionHandler
* Add new class SDLPendingResumptionHandler
* New class VehicleInfoPendingResumptionHandler
* Add changes related to ApplicationManager class
* Add changes related to MessageHelper class
* Add changes related to StateController class
* Add changes related to ResumeController class
* Add changes related to PolicyHandler class
* Add changes related to SDLRPCPlugin
* Add changes related to VehicleInfoPlugin
* Add changes related to AppServiceAppExtension and SystemCapabilitiesAppExtension
* Add changes related to ResetGlobalProperties request
* Add changes related to VehicleInfoAppExtension
* Add changes related to AppExtension and RCAppExtension
* Change OnTimeOut() method in affected requests
* Add changes related to method IsAppSubscribedForWayPoints
* Fix problem with multiple definitions during building of unit tests
* Add changes related to ApplicationHelper class
* Add changes related to EventDispatcher
* Add changes related to OnSystemCapabilitiesUpdated notification
* Fix/fix rai default timeout (#108)
Fix RAI default timeout
As RAI request does not depend on any HMI response
there is no need to track any timeout for it. RAI
request will be removed from/ RequestController
queue upon RAI response which will be sent anyway
Update UT
* Do not unsubscribe from pending VD
Update SDL logic to avoid sending of unsubscribeVD
to HMI during vehicle data resumption for case
when another application is also have pending
subscription for the same vehicle data.
* Fill subscription data for all pending requests
Changed SDL logic to update subscription results for
each pending subscription request before notifying
resumption processor about current subscription is
processed.
This should be done beforehand because after raising
event to processor it can finish resumption process
and if it has failed then it can trigger sending of
the next subscription request. So at that point, each
subscription request should contain updated subscriptions
status, otherwise some redundant requests might be sent.
* fixup! Add new class ResumptionDataProcessor
* fixup! Add new class SDLPendingResumptionHandler
* fixup! Add new class ExtensionPendingResumptionHandler
* fixup! New class VehicleInfoPendingResumptionHandler
* fixup! Add changes to RAI request
* fixup! Add new class ResumptionDataProcessor
* fixup! Add new class SDLAppExtension
* fixup! Add new class SDLPendingResumptionHandler
* fixup! New class VehicleInfoPendingResumptionHandler
* fixup! Add changes related to ApplicationManager class
* fixup! Add changes related to MessageHelper class
* fixup! Add changes related to ResumeController class
* fixup! Add changes related to SDLRPCPlugin
* fixup! Add changes related to AppExtension and RCAppExtension
* fixup! Add changes related to AppServiceAppExtension and SystemCapabilitiesAppExtension
* fixup! Add changes related to OnSystemCapabilitiesUpdated notification
* fixup! Add changes related to ResumeController class
* fixup! Change OnTimeOut() method in affected requests
* fixup! fixup! Add new class SDLAppExtension
* Filter RC subscriptions in vehicle data plugin
* Timeout process for reset global properties
* Use ResumptionDataProcessor interface instead of subscriber function
* Rename ExtensionPendingResumptionHandler
* Rename SDLAppExtension
* Revert "Filter RC subscriptions in vehicle data plugin"
This reverts commit f35e573e7587b06472e9f396d249339e8fc05cc8.
* Rename resumption_data_processor.cc
* Rename SDLPendingResumptionHandler
* fixup! fixup! Add changes related to OnSystemCapabilitiesUpdated notification
* fixup! fixup! Add changes related to AppServiceAppExtension and SystemCapabilitiesAppExtension
* fixup! Use ResumptionDataProcessor interface instead of subscriber function
Co-authored-by: Andrii Kalinich (GitHub) <AKalinich@luxoft.com>
Co-authored-by: Aleksandr Kutsan <AKutsan@luxoft.com>
|
| |
| |
| |
| |
| | |
* Overhaul state manager to handle regular state changes during hmi events
* Add parent check for all calls
|
| |
| |
| | |
Fix adopted from SYNC4 codebase
|
| |
| |
| |
| |
| |
| |
| |
| | |
SDLCORE-459
Helgrind considers that this issue is an error because we release
mutex before call Broadcast.
Co-authored-by: Elvis Kuliiev <ekuliiev@luxoft.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Fix mutex deadlock on VR.ChangeLanguage received
SYNC-10345
There was a problem that on receiving VR.ChangeLanguage SDL is holding application lock via accessor and tries to send some notifications from the same thread.
For sending notifications SDL should check policy permissions for that notification and hance, to acquire policy lock.
At the same time, PTU could happen in the separate thread and during PTU policy lock could be acquired. Also, during PTU SDL will try to acquire applications lock from this thread, however it is acquired by another thread which executing VR.ChangeLanguage request.
As a result we receive thread deadlock. To avoid this deadlock, accessor in VR.ChangeLanguage was scoped in the same manner as for UI and TTS parts.
* Copy apps without redundant scoping data accessor
Co-authored-by: Elvis Kuliiev <ekuliiev@luxoft.com>
Co-authored-by: Aleksandr Kutsan <AKutsan@luxoft.com>
|