summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Oleynik <AOleynik@luxoft.com>2014-07-16 12:15:55 +0300
committerAndrey Oleynik <AOleynik@luxoft.com>2014-07-16 12:15:55 +0300
commita59703336fce87691a6308b212eb9db9819b55bc (patch)
tree566228a40a2f6cf58790cdbf3bf0e519ea082c61
parent04e0bf1ae4575d9bf7e5a785313e328ecc526608 (diff)
downloadsmartdevicelink-a59703336fce87691a6308b212eb9db9819b55bc.tar.gz
APPLINK-8147. Added more detailed report on policy init fail.SNAPSHOT_PASA16072014
-rw-r--r--customer-specific/pasa/src/appMain/SmartDeviceLinkMainApp.cpp5
-rw-r--r--src/appMain/life_cycle.cc4
-rw-r--r--src/components/application_manager/include/application_manager/application_manager.h2
-rw-r--r--src/components/application_manager/include/application_manager/application_manager_impl.h2
-rw-r--r--src/components/application_manager/src/application_manager_impl.cc6
-rw-r--r--src/components/utils/src/system.cc3
6 files changed, 15 insertions, 7 deletions
diff --git a/customer-specific/pasa/src/appMain/SmartDeviceLinkMainApp.cpp b/customer-specific/pasa/src/appMain/SmartDeviceLinkMainApp.cpp
index e6b4ce4b6..01d953892 100644
--- a/customer-specific/pasa/src/appMain/SmartDeviceLinkMainApp.cpp
+++ b/customer-specific/pasa/src/appMain/SmartDeviceLinkMainApp.cpp
@@ -89,7 +89,10 @@ void startSmartDeviceLink()
}
- main_namespace::LifeCycle::instance()->StartComponents();
+ if (!main_namespace::LifeCycle::instance()->StartComponents()) {
+ LOG4CXX_INFO(logger, "StartComponents failed.");
+ exit(EXIT_FAILURE);
+ }
// --------------------------------------------------------------------------
// Third-Party components initialization.
diff --git a/src/appMain/life_cycle.cc b/src/appMain/life_cycle.cc
index 874431b08..d4d7455a5 100644
--- a/src/appMain/life_cycle.cc
+++ b/src/appMain/life_cycle.cc
@@ -110,7 +110,9 @@ bool LifeCycle::StartComponents() {
app_manager_ =
application_manager::ApplicationManagerImpl::instance();
DCHECK(app_manager_ != NULL);
- app_manager_->Init();
+ if (!app_manager_->Init()) {
+ return false;
+ }
hmi_handler_ =
hmi_message_handler::HMIMessageHandlerImpl::instance();
diff --git a/src/components/application_manager/include/application_manager/application_manager.h b/src/components/application_manager/include/application_manager/application_manager.h
index b5e5e472b..6ca85a5d3 100644
--- a/src/components/application_manager/include/application_manager/application_manager.h
+++ b/src/components/application_manager/include/application_manager/application_manager.h
@@ -57,7 +57,7 @@ class ApplicationManager {
/**
* Inits application manager
*/
- virtual void Init() = 0;
+ virtual bool Init() = 0;
/**
* @brief Stop work.
diff --git a/src/components/application_manager/include/application_manager/application_manager_impl.h b/src/components/application_manager/include/application_manager/application_manager_impl.h
index 71f0baa06..979e37d36 100644
--- a/src/components/application_manager/include/application_manager/application_manager_impl.h
+++ b/src/components/application_manager/include/application_manager/application_manager_impl.h
@@ -183,7 +183,7 @@ class ApplicationManagerImpl : public ApplicationManager,
/**
* Inits application manager
*/
- virtual void Init();
+ virtual bool Init();
/**
* @brief Stop work.
diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc
index 84e70c18b..d03b2a986 100644
--- a/src/components/application_manager/src/application_manager_impl.cc
+++ b/src/components/application_manager/src/application_manager_impl.cc
@@ -1323,12 +1323,14 @@ bool ApplicationManagerImpl::ManageHMICommand(
return false;
}
-void ApplicationManagerImpl::Init() {
+bool ApplicationManagerImpl::Init() {
LOG4CXX_TRACE(logger_, "Init application manager");
+ bool init_result = true;
if (policy_manager_) {
LOG4CXX_INFO(logger_, "Policy library is loaded, now initing PT");
- DCHECK(policy::PolicyHandler::instance()->InitPolicyTable());
+ init_result = policy::PolicyHandler::instance()->InitPolicyTable();
}
+ return init_result;
}
bool ApplicationManagerImpl::ConvertMessageToSO(
diff --git a/src/components/utils/src/system.cc b/src/components/utils/src/system.cc
index fbba24c6c..078a67c33 100644
--- a/src/components/utils/src/system.cc
+++ b/src/components/utils/src/system.cc
@@ -88,7 +88,8 @@ bool System::Execute(bool wait) {
delete[] argv;
if (ret == -1) {
- LOG4CXX_ERROR(logger_, "Can't execute command: " << command_);
+ LOG4CXX_ERROR(logger_, "Can't execute command: " << command_
+ << " Errno is: " << std::strerror(errno));
return false;
}