diff options
Diffstat (limited to 'src/appMain')
-rw-r--r-- | src/appMain/CMakeLists.txt | 9 | ||||
-rwxr-xr-x | src/appMain/hmi_capabilities.json | 20 | ||||
-rw-r--r-- | src/appMain/life_cycle.cc | 50 | ||||
-rw-r--r-- | src/appMain/life_cycle.h | 11 | ||||
-rw-r--r-- | src/appMain/sdl_preloaded_pt.json | 21 | ||||
-rw-r--r-- | src/appMain/smartDeviceLink.ini | 96 |
6 files changed, 128 insertions, 79 deletions
diff --git a/src/appMain/CMakeLists.txt b/src/appMain/CMakeLists.txt index 06738713bd..a05f4f97a1 100644 --- a/src/appMain/CMakeLists.txt +++ b/src/appMain/CMakeLists.txt @@ -44,7 +44,6 @@ endif() include_directories( ${COMPONENTS_DIR}/protocol_handler/include ${COMPONENTS_DIR}/application_manager/include - ${COMPONENTS_DIR}/remote_control/include ${COMPONENTS_DIR}/formatters/include ${COMPONENTS_DIR}/transport_manager/include ${COMPONENTS_DIR}/security_manager/include @@ -63,7 +62,6 @@ include_directories( ${POLICY_GLOBAL_INCLUDE_PATH}/ ${COMPONENTS_DIR}/rpc_base/include ${COMPONENTS_DIR}/resumption/include - ${COMPONENTS_DIR}/dbus/include ${CMAKE_BINARY_DIR}/src/components ${JSONCPP_INCLUDE_DIRECTORY} ${LOG4CXX_INCLUDE_DIRECTORY} @@ -112,13 +110,6 @@ set(LIBRARIES SystemTimeLibrary ) -if(REMOTE_CONTROL) - SET (LIBRARIES - ${LIBRARIES} - FunctionalModule - ) -endif(REMOTE_CONTROL) - if (CMAKE_SYSTEM_NAME STREQUAL "Linux") list(APPEND LIBRARIES pthread) list(APPEND LIBRARIES dl) diff --git a/src/appMain/hmi_capabilities.json b/src/appMain/hmi_capabilities.json index 50cb479a74..4eedd6b17a 100755 --- a/src/appMain/hmi_capabilities.json +++ b/src/appMain/hmi_capabilities.json @@ -462,6 +462,26 @@ "signalStrengthAvailable": true, "stateAvailable": true } + ], + "seatControlCapabilities": [ + { + "moduleName": "driver_seat", + "heatingEnabledAvailable" : true, + "coolingEnabledAvailable": true, + "heatingLevelAvailable": true, + "coolingLevelAvailable": true, + "horizontalPositionAvailable": true, + "verticalPositionAvailable" : true, + "frontVerticalPositionAvailable": true, + "backVerticalPositionAvailable": true, + "backTiltAngleAvailable": true, + "headSupportHorizontalPositionAvailable": true, + "headSupportVerticalPositionAvailable" : true, + "massageEnabledAvailable": true, + "massageModeAvailable": true, + "massageCushionFirmnessAvailable": true, + "memoryAvailable": true + } ] } } diff --git a/src/appMain/life_cycle.cc b/src/appMain/life_cycle.cc index 90a23465be..b9623d080a 100644 --- a/src/appMain/life_cycle.cc +++ b/src/appMain/life_cycle.cc @@ -70,10 +70,6 @@ LifeCycle::LifeCycle(const profile::Profile& profile) #ifdef TELEMETRY_MONITOR , telemetry_monitor_(NULL) #endif // TELEMETRY_MONITOR -#ifdef DBUS_HMIADAPTER - , dbus_adapter_(NULL) - , dbus_adapter_thread_(NULL) -#endif // DBUS_HMIADAPTER #ifdef MESSAGEBROKER_HMIADAPTER , mb_adapter_(NULL) , mb_adapter_thread_(NULL) @@ -109,7 +105,7 @@ bool LifeCycle::StartComponents() { DCHECK(!hmi_handler_); hmi_handler_ = new hmi_message_handler::HMIMessageHandlerImpl(profile_); - hmi_handler_->set_message_observer(app_manager_); + hmi_handler_->set_message_observer(&(app_manager_->GetRPCHandler())); app_manager_->set_hmi_message_handler(hmi_handler_); media_manager_ = new media_manager::MediaManagerImpl(*app_manager_, profile_); @@ -148,7 +144,7 @@ bool LifeCycle::StartComponents() { transport_manager_->AddEventListener(connection_handler_); protocol_handler_->AddProtocolObserver(media_manager_); - protocol_handler_->AddProtocolObserver(app_manager_); + protocol_handler_->AddProtocolObserver(&(app_manager_->GetRPCHandler())); media_manager_->SetProtocolHandler(protocol_handler_); @@ -166,7 +162,6 @@ bool LifeCycle::StartComponents() { // It's important to initialise TM after setting up listener chain // [TM -> CH -> AM], otherwise some events from TM could arrive at nowhere app_manager_->set_protocol_handler(protocol_handler_); - transport_manager_->Init(*last_state_); // start transport manager transport_manager_->Visibility(true); @@ -190,30 +185,6 @@ bool LifeCycle::InitMessageSystem() { } #endif // MESSAGEBROKER_HMIADAPTER -#ifdef DBUS_HMIADAPTER -/** - * Initialize DBus component - * @return true if success otherwise false. - */ -bool LifeCycle::InitMessageSystem() { - dbus_adapter_ = new hmi_message_handler::DBusMessageAdapter(hmi_handler_); - - hmi_handler_->AddHMIMessageAdapter(dbus_adapter_); - if (!dbus_adapter_->Init()) { - LOG4CXX_FATAL(logger_, "Cannot init DBus service!"); - return false; - } - - dbus_adapter_->SubscribeTo(); - - LOG4CXX_INFO(logger_, "Start DBusMessageAdapter thread!"); - dbus_adapter_thread_ = new std::thread( - &hmi_message_handler::DBusMessageAdapter::Run, dbus_adapter_); - - return true; -} -#endif // DBUS_HMIADAPTER - namespace { void sig_handler(int sig) { switch (sig) { @@ -255,7 +226,7 @@ void LifeCycle::StopComponents() { connection_handler_->set_connection_handler_observer(NULL); DCHECK_OR_RETURN_VOID(protocol_handler_); - protocol_handler_->RemoveProtocolObserver(app_manager_); + protocol_handler_->RemoveProtocolObserver(&(app_manager_->GetRPCHandler())); DCHECK_OR_RETURN_VOID(app_manager_); app_manager_->Stop(); @@ -316,21 +287,6 @@ void LifeCycle::StopComponents() { LOG4CXX_INFO(logger_, "Destroying HMI Message Handler and MB adapter."); -#ifdef DBUS_HMIADAPTER - if (dbus_adapter_) { - DCHECK_OR_RETURN_VOID(hmi_handler_); - hmi_handler_->RemoveHMIMessageAdapter(dbus_adapter_); - dbus_adapter_->Shutdown(); - if (dbus_adapter_thread_ != NULL) { - dbus_adapter_thread_->join(); - } - delete dbus_adapter_; - dbus_adapter_ = NULL; - delete dbus_adapter_thread_; - dbus_adapter_thread_ = NULL; - } -#endif // DBUS_HMIADAPTER - #ifdef MESSAGEBROKER_HMIADAPTER if (mb_adapter_) { DCHECK_OR_RETURN_VOID(hmi_handler_); diff --git a/src/appMain/life_cycle.h b/src/appMain/life_cycle.h index e37da3fa1d..0ac2f4047b 100644 --- a/src/appMain/life_cycle.h +++ b/src/appMain/life_cycle.h @@ -39,17 +39,10 @@ #include "config_profile/profile.h" #include "hmi_message_handler/hmi_message_handler_impl.h" -#ifdef DBUS_HMIADAPTER -#include "hmi_message_handler/dbus_message_adapter.h" -#endif // DBUS_HMIADAPTER #if (defined(MESSAGEBROKER_HMIADAPTER) || defined(PASA_HMI)) #include "hmi_message_handler/messagebroker_adapter.h" #endif // #if ( defined (MESSAGEBROKER_HMIADAPTER) || defined(PASA_HMI) ) #include "application_manager/application_manager_impl.h" -#ifdef SDL_REMOTE_CONTROL -#include "application_manager/core_service.h" -#include "functional_module/plugin_manager.h" -#endif // SDL_REMOTE_CONTROL #include "connection_handler/connection_handler_impl.h" #include "protocol_handler/protocol_handler_impl.h" #include "transport_manager/transport_manager.h" @@ -103,10 +96,6 @@ class LifeCycle { #ifdef TELEMETRY_MONITOR telemetry_monitor::TelemetryMonitor* telemetry_monitor_; #endif // TELEMETRY_MONITOR -#ifdef DBUS_HMIADAPTER - hmi_message_handler::DBusMessageAdapter* dbus_adapter_; - std::thread* dbus_adapter_thread_; -#endif // DBUS_HMIADAPTER #ifdef MESSAGEBROKER_HMIADAPTER hmi_message_handler::MessageBrokerAdapter* mb_adapter_; diff --git a/src/appMain/sdl_preloaded_pt.json b/src/appMain/sdl_preloaded_pt.json index e58021bb08..d503ae34e5 100644 --- a/src/appMain/sdl_preloaded_pt.json +++ b/src/appMain/sdl_preloaded_pt.json @@ -141,7 +141,8 @@ "OnDriverDistraction": {
"hmi_levels": ["BACKGROUND",
"FULL",
- "LIMITED"]
+ "LIMITED",
+ "NONE"]
},
"OnEncodedSyncPData": {
"hmi_levels": ["BACKGROUND",
@@ -345,6 +346,7 @@ "LIMITED"],
"parameters": ["accPedalPosition",
"beltStatus",
+ "electronicParkBrakeStatus",
"driverBraking",
"myKey",
"prndl",
@@ -357,6 +359,7 @@ "LIMITED"],
"parameters": ["accPedalPosition",
"beltStatus",
+ "electronicParkBrakeStatus",
"driverBraking",
"myKey",
"prndl",
@@ -369,6 +372,7 @@ "LIMITED"],
"parameters": ["accPedalPosition",
"beltStatus",
+ "electronicParkBrakeStatus",
"driverBraking",
"myKey",
"prndl",
@@ -381,6 +385,7 @@ "LIMITED"],
"parameters": ["accPedalPosition",
"beltStatus",
+ "electronicParkBrakeStatus",
"driverBraking",
"myKey",
"prndl",
@@ -401,6 +406,7 @@ "engineOilLife",
"engineTorque",
"externalTemperature",
+ "turnSignal",
"fuelLevel",
"fuelLevel_State",
"headLampStatus",
@@ -420,6 +426,7 @@ "engineOilLife",
"engineTorque",
"externalTemperature",
+ "turnSignal",
"fuelLevel",
"fuelLevel_State",
"headLampStatus",
@@ -439,6 +446,7 @@ "engineOilLife",
"engineTorque",
"externalTemperature",
+ "turnSignal",
"fuelLevel",
"fuelLevel_State",
"headLampStatus",
@@ -457,6 +465,7 @@ "engineOilLife",
"engineTorque",
"externalTemperature",
+ "turnSignal",
"fuelLevel",
"fuelLevel_State",
"headLampStatus",
@@ -547,6 +556,12 @@ "FULL",
"LIMITED",
"NONE"]
+ },
+ "OnRCStatus": {
+ "hmi_levels": ["BACKGROUND",
+ "FULL",
+ "LIMITED",
+ "NONE"]
}
}
},
@@ -705,7 +720,8 @@ "OnDriverDistraction": {
"hmi_levels": ["BACKGROUND",
"FULL",
- "LIMITED"]
+ "LIMITED",
+ "NONE"]
},
"OnEncodedSyncPData": {
"hmi_levels": ["BACKGROUND",
@@ -2374,4 +2390,3 @@ }
}
}
-
diff --git a/src/appMain/smartDeviceLink.ini b/src/appMain/smartDeviceLink.ini index e128bc1a2e..444affc06c 100644 --- a/src/appMain/smartDeviceLink.ini +++ b/src/appMain/smartDeviceLink.ini @@ -27,7 +27,7 @@ VideoStreamingPort = 5050 AudioStreamingPort = 5080 [MAIN] -; SDL source version +; SDL source version ; represents as a git commit hash value SDLVersion = {GIT_COMMIT} ; All logging event could be dropped by setting $LogsEnabled to false @@ -86,7 +86,9 @@ TimeTestingPort = 8090 ReadDIDRequest = 5, 1 ; Limitation for a number of GetVehicleData requests (the 1st value) per (the 2nd value) seconds GetVehicleDataRequest = 5, 1 -PluginFolder = plugins +; Limitation for a number of GetInteriorVehicleDataRequest requests (the 1st value) per (the 2nd value) seconds +GetInteriorVehicleDataRequest = 5, 1 +PluginFolder = ./ ; The time used during switch transport procedure AppTransportChangeTimer = 500 @@ -144,7 +146,7 @@ DeleteFileRequest = 5 ListFilesRequest = 5 [VR COMMANDS] -; TODO(EZamakhov): delete with APPLINK-15220 +; TODO(EZamakhov): delete with APPLINK-15220 HelpCommand = Help [AppInfo] @@ -169,7 +171,7 @@ CACertificatePath = . ; Services which can not be started unprotected (could be id's from 0x01 to 0xFF) ;ForceProtectedService = 0x0A, 0x0B ForceProtectedService = Non -; Services which can not be started protected or delayed protected +; Services which can not be started protected or delayed protected ;ForceUnprotectedService = 0x07 ForceUnprotectedService = Non ; The PTU will be triggered in case expiration date of certificate @@ -188,6 +190,9 @@ OpenAttemptTimeoutMs = 500 [TransportManager] ; Listening port form incoming TCP mobile connection TCPAdapterPort = 12345 +; Name of the network interface that Core will listen on for incoming TCP connection, e.g. eth0. +; If the name is omitted, Core will listen on all network interfaces by binding to INADDR_ANY. +TCPAdapterNetworkInterface = [ProtocolHandler] ; SDL supported protocol version @@ -232,16 +237,16 @@ AppIconsAmountToRemove = 1 [SDL5] ; Section for features added in protocol version 5 -; Control service packet with payload bigger than this value will be marked as a malformed, +; Control service packet with payload bigger than this value will be marked as a malformed, ; if not specified, this value will default to MaxPayloadSize ;MaximumControlPayloadSize = 131072 -; RPC service packet with payload bigger than this value will be marked as a malformed, +; RPC service packet with payload bigger than this value will be marked as a malformed, ; if not specified, this value will default to MaxPayloadSize ;MaximumRpcPayloadSize = 131072 -; Audio service packet with payload bigger than this value will be marked as a malformed, +; Audio service packet with payload bigger than this value will be marked as a malformed, ; if not specified, this value will default to MaxPayloadSize ;MaximumAudioPayloadSize = 131072 -; Video service packet with payloadbigger than this value will be marked as a malformed, +; Video service packet with payloadbigger than this value will be marked as a malformed, ; if not specified, this value will default to MaxPayloadSize ;MaximumVideoPayloadSize = 131072 @@ -262,6 +267,57 @@ AttemptsToOpenResumptionDB = 5 ; Timeout between attempts during opening DB in milliseconds OpenAttemptTimeoutMsResumptionDB = 500 +[TransportRequiredForResumption] +; This section specifies transport types that are required to trigger resumption for each +; AppHMIType. App has to be connected through at least one of the transports listed (either as +; the primary transport or secondary transport) to trigger resumption. If the app is not +; connected with any of the transports listed, its HMIlevel will be kept in NONE and the state +; stays in NOT_AUDIBLE. +; In case an app has multiple AppHMIType, requirements of all of the AppHMITypes are applied. +; +; Possible AppHMITypes: Default, Communication, Media, Messaging, Navigation, Information, +; Social, BackgroundProcess, Testing, System, Projection, RemoteControl, +; EmptyApp +; Possible transport types: TCP_WIFI, IAP_CARPLAY, IAP_USB_HOST_MODE, IAP_USB_DEVICE_MODE, +; IAP_USB, AOA_USB, IAP_BLUETOOTH, SPP_BLUETOOTH +; +; The default behavior is to always enable resumption. If an AppHMIType is not listed in this +; section, resumption is enabled for an app with the AppHMIType. +; On the other hand, if you want to disable resumption and always keep an app in NONE and +; NOT_AUDIBLE state after registration, specify an empty value for the AppHMIType. +; +; NAVIGATION apps, PROJECTION apps and apps that declare themselves as media apps have a +; special exception. When these apps do not have any of the transports listed here, they will +; be still resumed into particular HMIlevel defined in LowBandwidthTransportResumptionLevel +; section. + +;DefaultTransportRequiredForResumption = +;CommunicationTransportRequiredForResumption = +;MediaTransportRequiredForResumption = +;MessagingTransportRequiredForResumption = +;NavigationTransportRequiredForResumption = +;InformationTransportRequiredForResumption = +;SocialTransportRequiredForResumption = +;BackgroundProcessTransportRequiredForResumption = +;TestingTransportRequiredForResumption = +;SystemTransportRequiredForResumption = +;ProjectionTransportRequiredForResumption = +;RemoteControlTransportRequiredForResumption = +; "EmptyAppTransportRequiredForResumption" applies to apps that don't specify any AppHMIType +;EmptyAppTransportRequiredForResumption = + +[LowBandwidthTransportResumptionLevel] +; The HMI Level that an app will resume to if no high bandwidth connection is active. +; High bandwidth connections for each app type are defined under TransportRequiredForResumption +; section. +; Possible values: NONE, BACKGROUND, LIMITED and FULL +; this is for NAVIGATION apps +;NavigationLowBandwidthResumptionLevel = +; this is for PROJECTION apps +;ProjectionLowBandwidthResumptionLevel = +; this is for apps who declare themselves as media apps. (Don't be confused with AppHMIType=MEDIA.) +;MediaLowBandwidthResumptionLevel = + [AppLaunch] ; time in milliseconds started from device connection - after expiring SDL remotely launches all known not-yet-registered apps from this device AppLaunchWaitTime = 5000 @@ -275,5 +331,27 @@ RemoveBundleIDattempts = 3 MaxNumberOfiOSDevice = 10 ; time in milliseconds started after request to launch the first app. after either expires or the first app registers SDL requests to launch the second app. WaitTimeBetweenApps = 4000 -; App Launch on iOS devices SDL feature enabler/disabler +; App Launch on iOS devices SDL feature enabler/disabler EnableAppLaunchIOS = true + +[MultipleTransports] +; Whether multiple-transports feature is enabled +;MultipleTransportsEnabled = true + +; Comma-separated list of transports that can be used as Secondary Transport for each Primary Transport. +; Possible values are: WiFi, USB and Bluetooth. +; Core will not suggest Secondary Transport if the value is empty. +;SecondaryTransportForBluetooth = WiFi +;SecondaryTransportForUSB = +;SecondaryTransportForWiFi = + +[ServicesMap] +; A matrix to specify which service is allowed on which transports. The transports are listed +; in preferred order. If a transport is not listed, then the service is not allowed +; to run on the transport. +; Only video and audio services are configurable. +; If the entry of a service is completely omitted, the service will be allowed on all transports. +; Possible values are: IAP_BLUETOOTH, IAP_USB, IAP_USB_HOST_MODE, IAP_USB_DEVICE_MODE, IAP_CARPLAY, SPP_BLUETOOTH, AOA_USB and TCP_WIFI. +; Note: this configuration is applied even if multiple-transports feature is not enabled. +;AudioServiceTransports = TCP_WIFI, IAP_CARPLAY, IAP_USB_HOST_MODE, IAP_USB_DEVICE_MODE, IAP_USB, AOA_USB +;VideoServiceTransports = TCP_WIFI, IAP_CARPLAY, IAP_USB_HOST_MODE, IAP_USB_DEVICE_MODE, IAP_USB, AOA_USB |