diff options
author | Alexander <akutsan@luxoft.com> | 2018-06-17 20:18:22 +0300 |
---|---|---|
committer | Ira Lytvynenko (GitHub) <ILytvynenko@luxoft.com> | 2018-06-27 18:20:30 +0300 |
commit | 6fd488641ec7d761776e167af90a8beedb51bbd6 (patch) | |
tree | 10c7760d0c378d55dca32f2fd77af569eff53886 | |
parent | 63ad0000e8f9b5ab166ff64dba439609b46c0e37 (diff) | |
download | sdl_core-6fd488641ec7d761776e167af90a8beedb51bbd6.tar.gz |
Move Unsubscribe from IVI calls to app extensions
7 files changed, 5 insertions, 14 deletions
diff --git a/src/components/application_manager/include/application_manager/application.h b/src/components/application_manager/include/application_manager/application.h index 8ffab07ee8..c931c492bb 100644 --- a/src/components/application_manager/include/application_manager/application.h +++ b/src/components/application_manager/include/application_manager/application.h @@ -626,7 +626,6 @@ class Application : public virtual InitialApplicationData, mobile_apis::ButtonName::eType btn_name) = 0; virtual bool IsSubscribedToIVI(uint32_t vehicle_info_type) const = 0; - virtual bool UnsubscribeFromIVI(uint32_t vehicle_info_type) = 0; /** * @brief ResetDataInNone reset data counters in NONE diff --git a/src/components/application_manager/include/application_manager/application_impl.h b/src/components/application_manager/include/application_manager/application_impl.h index c746b3b563..149ad39622 100644 --- a/src/components/application_manager/include/application_manager/application_impl.h +++ b/src/components/application_manager/include/application_manager/application_impl.h @@ -214,7 +214,6 @@ class ApplicationImpl : public virtual Application, bool UnsubscribeFromButton(mobile_apis::ButtonName::eType btn_name); bool IsSubscribedToIVI(uint32_t vehicle_info_type) const OVERRIDE; - bool UnsubscribeFromIVI(uint32_t vehicle_info_type) OVERRIDE; DataAccessor<VehicleInfoSubscriptions> SubscribedIVI() const OVERRIDE; inline bool IsRegistered() const OVERRIDE; diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/subscribe_vehicle_data_request.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/subscribe_vehicle_data_request.cc index 51c5fab6fe..f2da9f1d20 100644 --- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/subscribe_vehicle_data_request.cc +++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/subscribe_vehicle_data_request.cc @@ -347,7 +347,8 @@ void SubscribeVehicleDataRequest::UnsubscribeFailedSubscriptions( << " is unsuccessfull. " "Unsubscribing app with connection key " << connection_key() << " from it."); - app->UnsubscribeFromIVI(it->second); + VehicleInfoAppExtension::ExtractVIExtension(*app) + .unsubscribeFromVehicleInfo(it->second); } } } diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/unsubscribe_vehicle_data_request.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/unsubscribe_vehicle_data_request.cc index a6a3b11111..139f194bc1 100644 --- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/unsubscribe_vehicle_data_request.cc +++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/unsubscribe_vehicle_data_request.cc @@ -40,6 +40,7 @@ #include "interfaces/HMI_API.h" #include "application_manager/smart_object_keys.h" #include "utils/helpers.h" +#include "vehicle_info_plugin/vehicle_info_app_extension.h" namespace vehicle_info_plugin { using namespace application_manager; @@ -153,7 +154,8 @@ void UnsubscribeVehicleDataRequest::Run() { continue; } - if (!app->UnsubscribeFromIVI(static_cast<uint32_t>(key_type))) { + if (!VehicleInfoAppExtension::ExtractVIExtension(*app) + .unsubscribeFromVehicleInfo(it->second)) { LOG4CXX_ERROR(logger_, "Unable to unsubscribe from " "VehicleDataType: " diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/test/commands/mobile/unsubscribe_vehicle_request_test.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/test/commands/mobile/unsubscribe_vehicle_request_test.cc index 671429d027..5b1f758c1e 100644 --- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/test/commands/mobile/unsubscribe_vehicle_request_test.cc +++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/test/commands/mobile/unsubscribe_vehicle_request_test.cc @@ -206,9 +206,6 @@ void UnsubscribeVehicleRequestTest::UnsubscribeSuccessfully() { EXPECT_CALL(*mock_app, IsSubscribedToIVI(kVehicleType)) .WillRepeatedly(Return(true)); - EXPECT_CALL(*mock_app, UnsubscribeFromIVI(kVehicleType)) - .WillRepeatedly(Return(true)); - EXPECT_CALL( mock_rpc_service_, ManageMobileCommand(MobileResultCodeIs(mobile_result::SUCCESS), _)); diff --git a/src/components/application_manager/src/application_impl.cc b/src/components/application_manager/src/application_impl.cc index f1c785ccf3..0940740c8a 100644 --- a/src/components/application_manager/src/application_impl.cc +++ b/src/components/application_manager/src/application_impl.cc @@ -767,12 +767,6 @@ bool ApplicationImpl::IsSubscribedToIVI(uint32_t vehicle_info_type) const { return (subscribed_vehicle_info_.end() != it); } -bool ApplicationImpl::UnsubscribeFromIVI(uint32_t vehicle_info_type) { - sync_primitives::AutoLock lock(vi_lock_ptr_); - return subscribed_vehicle_info_.erase( - static_cast<mobile_apis::VehicleDataType::eType>(vehicle_info_type)); -} - UsageStatistics& ApplicationImpl::usage_report() { return usage_report_; } diff --git a/src/components/application_manager/test/include/application_manager/mock_application.h b/src/components/application_manager/test/include/application_manager/mock_application.h index b17db9d0fe..5750556774 100644 --- a/src/components/application_manager/test/include/application_manager/mock_application.h +++ b/src/components/application_manager/test/include/application_manager/mock_application.h @@ -151,7 +151,6 @@ class MockApplication : public ::application_manager::Application { MOCK_METHOD1(UnsubscribeFromButton, bool(mobile_apis::ButtonName::eType btn_name)); MOCK_CONST_METHOD1(IsSubscribedToIVI, bool(uint32_t vehicle_info_type)); - MOCK_METHOD1(UnsubscribeFromIVI, bool(uint32_t vehicle_info_type)); MOCK_METHOD0(ResetDataInNone, void()); MOCK_METHOD2(AreCommandLimitsExceeded, bool(mobile_apis::FunctionID::eType cmd_id, |