diff options
Diffstat (limited to 'src/components/application_manager/src/hmi_capabilities_impl.cc')
-rw-r--r-- | src/components/application_manager/src/hmi_capabilities_impl.cc | 53 |
1 files changed, 16 insertions, 37 deletions
diff --git a/src/components/application_manager/src/hmi_capabilities_impl.cc b/src/components/application_manager/src/hmi_capabilities_impl.cc index fc1991e852..c5ab78ade5 100644 --- a/src/components/application_manager/src/hmi_capabilities_impl.cc +++ b/src/components/application_manager/src/hmi_capabilities_impl.cc @@ -765,11 +765,9 @@ void HMICapabilitiesImpl::set_rc_capability( void HMICapabilitiesImpl::set_driver_distraction_capability( const smart_objects::SmartObject& driver_distraction_capability) { - if (driver_distraction_capability_) { - delete driver_distraction_capability_; - } - driver_distraction_capability_ = - new smart_objects::SmartObject(driver_distraction_capability); + auto new_value = std::make_shared<smart_objects::SmartObject>( + driver_distraction_capability); + driver_distraction_capability_.swap(new_value); } void HMICapabilitiesImpl::set_seat_location_capability( @@ -911,17 +909,12 @@ bool HMICapabilitiesImpl::rc_supported() const { return is_rc_supported_; } -<<<<<<< HEAD bool HMICapabilitiesImpl::driver_distraction_supported() const { return is_driver_distraction_supported_; } -const smart_objects::SmartObject* HMICapabilitiesImpl::navigation_capability() - const { -======= const smart_objects::SmartObjectSPtr HMICapabilitiesImpl::navigation_capability() const { ->>>>>>> origin/develop return navigation_capability_; } @@ -940,16 +933,12 @@ const smart_objects::SmartObjectSPtr HMICapabilitiesImpl::rc_capability() return rc_capability_; } -<<<<<<< HEAD -const smart_objects::SmartObject* +const smart_objects::SmartObjectSPtr HMICapabilitiesImpl::driver_distraction_capability() const { return driver_distraction_capability_; } -const smart_objects::SmartObject* -======= const smart_objects::SmartObjectSPtr ->>>>>>> origin/develop HMICapabilitiesImpl::seat_location_capability() const { return seat_location_capability_; } @@ -1453,6 +1442,18 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { set_video_streaming_supported(true); } } + if (JsonIsMemberSafe(ui_system_capabilities_node, + strings::driver_distraction_capability)) { + Json::Value dd_capability = ui_system_capabilities_node.get( + strings::driver_distraction_capability, ""); + smart_objects::SmartObject dd_capability_so; + formatters::CFormatterJsonBase::jsonValueToObj(dd_capability, + dd_capability_so); + set_driver_distraction_capability(dd_capability_so); + if (!dd_capability_so.empty()) { + set_driver_distraction_supported(true); + } + } } } else { AddRequiredRequestsForCapabilities(hmi_interface::ui); @@ -1492,27 +1493,6 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { set_rc_supported(true); set_rc_capability(rc_capability_so); } -<<<<<<< HEAD - if (check_existing_json_member(system_capabilities, - "driverDistractionCapability")) { - Json::Value driver_distraction_capability = - system_capabilities.get("driverDistractionCapability", ""); - smart_objects::SmartObject driver_distraction_capability_so; - formatters::CFormatterJsonBase::jsonValueToObj( - driver_distraction_capability, driver_distraction_capability_so); - set_driver_distraction_capability(driver_distraction_capability_so); - if (!driver_distraction_capability_so.empty()) { - set_driver_distraction_supported(true); - } - } - if (check_existing_json_member(system_capabilities, - "seatLocationCapability")) { - Json::Value seat_location_capability = - system_capabilities.get("seatLocationCapability", ""); - smart_objects::SmartObject seat_location_capability_so; - formatters::CFormatterJsonBase::jsonValueToObj( - seat_location_capability, seat_location_capability_so); -======= } auto seat_location_capabilitiy_node = @@ -1527,7 +1507,6 @@ bool HMICapabilitiesImpl::LoadCapabilitiesFromFile() { if (!seat_location_capability_so.empty()) { set_rc_supported(true); ->>>>>>> origin/develop set_seat_location_capability(seat_location_capability_so); } } |