summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/application_manager_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/src/application_manager_impl.cc')
-rw-r--r--src/components/application_manager/src/application_manager_impl.cc41
1 files changed, 23 insertions, 18 deletions
diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc
index f5dedc0e35..e78d6ee668 100644
--- a/src/components/application_manager/src/application_manager_impl.cc
+++ b/src/components/application_manager/src/application_manager_impl.cc
@@ -51,6 +51,8 @@
#include "application_manager/mobile_message_handler.h"
#include "application_manager/plugin_manager/rpc_plugin_manager_impl.h"
#include "application_manager/policies/policy_handler.h"
+#include "application_manager/request_controller_impl.h"
+#include "application_manager/request_timeout_handler_impl.h"
#include "application_manager/resumption/resume_ctrl_impl.h"
#include "application_manager/rpc_handler_impl.h"
#include "application_manager/rpc_protection_manager_impl.h"
@@ -170,7 +172,10 @@ ApplicationManagerImpl::ApplicationManagerImpl(
, connection_handler_(NULL)
, policy_handler_(new policy::PolicyHandler(policy_settings, *this))
, protocol_handler_(NULL)
- , request_ctrl_(am_settings)
+ , request_timeout_handler_(
+ new request_controller::RequestTimeoutHandlerImpl(*this))
+ , request_ctrl_(new request_controller::RequestControllerImpl(
+ am_settings, *request_timeout_handler_))
, mobile_correlation_id_(0)
, correlation_id_(0)
, max_correlation_id_(UINT_MAX)
@@ -215,7 +220,7 @@ ApplicationManagerImpl::ApplicationManagerImpl(
std::make_shared<RPCProtectionManagerImpl>(*policy_handler_);
policy_handler_->add_listener(rpc_protection_manager.get());
rpc_service_.reset(new rpc_service::RPCServiceImpl(*this,
- request_ctrl_,
+ *request_ctrl_,
protocol_handler_,
hmi_handler_,
*commands_holder_,
@@ -1714,7 +1719,7 @@ void ApplicationManagerImpl::OnDeviceSwitchingStart(
}
for (const auto& app : wait_list) {
- request_ctrl_.terminateAppRequests(app->app_id());
+ request_ctrl_->TerminateAppRequests(app->app_id());
resume_ctrl_->SaveApplication(app);
}
@@ -2476,7 +2481,7 @@ void ApplicationManagerImpl::StartDevicesDiscovery() {
void ApplicationManagerImpl::TerminateRequest(const uint32_t connection_key,
const uint32_t corr_id,
const int32_t function_id) {
- request_ctrl_.TerminateRequest(corr_id, connection_key, function_id, true);
+ request_ctrl_->TerminateRequest(corr_id, connection_key, function_id, true);
}
void ApplicationManagerImpl::RemoveHMIFakeParameters(
@@ -2590,7 +2595,7 @@ bool ApplicationManagerImpl::Stop() {
} catch (...) {
SDL_LOG_ERROR("An error occurred during unregistering applications.");
}
- request_ctrl_.DestroyThreadpool();
+ request_ctrl_->Stop();
// for PASA customer policy backup should happen :AllApp(SUSPEND)
SDL_LOG_DEBUG("Unloading policy library.");
@@ -2930,21 +2935,21 @@ void ApplicationManagerImpl::SetTelemetryObserver(
}
#endif // TELEMETRY_MONITOR
-void ApplicationManagerImpl::addNotification(const CommandSharedPtr ptr) {
- request_ctrl_.addNotification(ptr);
+void ApplicationManagerImpl::AddNotification(const CommandSharedPtr ptr) {
+ request_ctrl_->AddNotification(ptr);
}
-void ApplicationManagerImpl::removeNotification(
+void ApplicationManagerImpl::RemoveNotification(
const commands::Command* notification) {
- request_ctrl_.removeNotification(notification);
+ request_ctrl_->RemoveNotification(notification);
}
-void ApplicationManagerImpl::updateRequestTimeout(
+void ApplicationManagerImpl::UpdateRequestTimeout(
uint32_t connection_key,
uint32_t mobile_correlation_id,
uint32_t new_timeout_value) {
SDL_LOG_AUTO_TRACE();
- request_ctrl_.updateRequestTimeout(
+ request_ctrl_->UpdateRequestTimeout(
connection_key, mobile_correlation_id, new_timeout_value);
}
@@ -2954,7 +2959,7 @@ void ApplicationManagerImpl::IncreaseForwardedRequestTimeout(
<< get_settings().rpc_pass_through_timeout());
uint32_t new_timeout_value = get_settings().default_timeout() +
get_settings().rpc_pass_through_timeout();
- request_ctrl_.updateRequestTimeout(
+ request_ctrl_->UpdateRequestTimeout(
connection_key, mobile_correlation_id, new_timeout_value);
}
@@ -3176,7 +3181,7 @@ void ApplicationManagerImpl::UnregisterAllApplications() {
if (is_ignition_off) {
resume_controller().OnIgnitionOff();
}
- request_ctrl_.terminateAllHMIRequests();
+ request_ctrl_->TerminateAllHMIRequests();
}
void ApplicationManagerImpl::RemoveAppsWaitingForRegistration(
@@ -3276,11 +3281,10 @@ void ApplicationManagerImpl::UnregisterApplication(
}
if (!app_to_remove) {
SDL_LOG_ERROR("Cant find application with app_id = " << app_id);
-
// Just to terminate RAI in case of connection is dropped (rare case)
// App won't be unregistered since RAI has not been started yet
SDL_LOG_DEBUG("Trying to terminate possible RAI request.");
- request_ctrl_.terminateAppRequests(app_id);
+ request_ctrl_->TerminateAppRequests(app_id);
return;
}
@@ -3344,7 +3348,8 @@ void ApplicationManagerImpl::UnregisterApplication(
};
plugin_manager_->ForEachPlugin(on_app_unregistered);
- request_ctrl_.terminateAppRequests(app_id);
+
+ request_ctrl_->TerminateAppRequests(app_id);
const bool is_applications_list_empty = applications().GetData().empty();
if (is_applications_list_empty) {
@@ -3429,7 +3434,7 @@ void ApplicationManagerImpl::OnLowVoltage() {
is_low_voltage_ = true;
resume_ctrl_->SaveLowVoltageTime();
resume_ctrl_->StopSavePersistentDataTimer();
- request_ctrl_.OnLowVoltage();
+ request_ctrl_->OnLowVoltage();
}
bool ApplicationManagerImpl::IsLowVoltage() const {
@@ -3441,7 +3446,7 @@ void ApplicationManagerImpl::OnWakeUp() {
SDL_LOG_AUTO_TRACE();
resume_ctrl_->SaveWakeUpTime();
resume_ctrl_->StartSavePersistentDataTimer();
- request_ctrl_.OnWakeUp();
+ request_ctrl_->OnWakeUp();
is_low_voltage_ = false;
}