summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/resumption
diff options
context:
space:
mode:
authorVeronica Veremjova <vveremjova@luxoft.com>2016-05-11 16:32:39 +0300
committerVeronica Veremjova <vveremjova@luxoft.com>2016-05-12 15:52:17 +0300
commitb908974e224a6375e3d4aa1bbda859dfbb4a58dc (patch)
tree9b749c95982bbb8305f74adae87dd62559b0b25b /src/components/application_manager/src/resumption
parentb58e6058ea5be28b09583a7f57757b7cf369591c (diff)
downloadsdl_core-b908974e224a6375e3d4aa1bbda859dfbb4a58dc.tar.gz
Refactoring: deleted unuseful members and functions in resumption data
Added ability to create database in memory Fixed code after merge
Diffstat (limited to 'src/components/application_manager/src/resumption')
-rw-r--r--src/components/application_manager/src/resumption/resume_ctrl.cc18
-rw-r--r--src/components/application_manager/src/resumption/resumption_data.cc2
-rw-r--r--src/components/application_manager/src/resumption/resumption_data_db.cc55
-rw-r--r--src/components/application_manager/src/resumption/resumption_data_json.cc54
4 files changed, 33 insertions, 96 deletions
diff --git a/src/components/application_manager/src/resumption/resume_ctrl.cc b/src/components/application_manager/src/resumption/resume_ctrl.cc
index d72e8cffce..5e24c5572c 100644
--- a/src/components/application_manager/src/resumption/resume_ctrl.cc
+++ b/src/components/application_manager/src/resumption/resume_ctrl.cc
@@ -79,7 +79,8 @@ void ResumeCtrl::set_resumption_storage(
bool ResumeCtrl::Init(resumption::LastState& last_state) {
bool use_db = application_manager_.get_settings().use_db_for_resumption();
if (use_db) {
- resumption_storage_.reset(new ResumptionDataDB(application_manager_));
+ resumption_storage_.reset(
+ new ResumptionDataDB(In_File_Storage, application_manager_));
if (!resumption_storage_->Init()) {
return false;
}
@@ -267,9 +268,9 @@ void ResumeCtrl::OnSuspend() {
}
void ResumeCtrl::OnAwake() {
- return resumption_storage_->OnAwake();
ResetLaunchTime();
StartSavePersistentDataTimer();
+ return resumption_storage_->OnAwake();
}
void ResumeCtrl::StartSavePersistentDataTimer() {
@@ -381,11 +382,16 @@ bool ResumeCtrl::CheckPersistenceFilesForResumption(
bool result = resumption_storage_->GetSavedApplication(
application->policy_app_id(), device_mac, saved_app);
if (result) {
- if (!CheckIcons(application, saved_app[strings::application_commands])) {
- return false;
+ if (saved_app.keyExists(strings::application_commands)) {
+ if (!CheckIcons(application, saved_app[strings::application_commands])) {
+ return false;
+ }
}
- if (!CheckIcons(application, saved_app[strings::application_choice_sets])) {
- return false;
+ if (saved_app.keyExists(strings::application_choice_sets)) {
+ if (!CheckIcons(application,
+ saved_app[strings::application_choice_sets])) {
+ return false;
+ }
}
}
return true;
diff --git a/src/components/application_manager/src/resumption/resumption_data.cc b/src/components/application_manager/src/resumption/resumption_data.cc
index a44a22425b..273cd5413e 100644
--- a/src/components/application_manager/src/resumption/resumption_data.cc
+++ b/src/components/application_manager/src/resumption/resumption_data.cc
@@ -127,8 +127,6 @@ smart_objects::SmartObject ResumptionData::GetApplicationGlobalProperties(
PointerToSmartObj(application->vr_help());
global_properties[strings::vr_help_title] =
PointerToSmartObj(application->vr_help_title());
- global_properties[strings::vr_synonyms] =
- PointerToSmartObj(application->vr_synonyms());
global_properties[strings::keyboard_properties] =
PointerToSmartObj(application->keyboard_props());
global_properties[strings::menu_title] =
diff --git a/src/components/application_manager/src/resumption/resumption_data_db.cc b/src/components/application_manager/src/resumption/resumption_data_db.cc
index 063cb332f1..08de6d8190 100644
--- a/src/components/application_manager/src/resumption/resumption_data_db.cc
+++ b/src/components/application_manager/src/resumption/resumption_data_db.cc
@@ -50,15 +50,23 @@ namespace resumption {
CREATE_LOGGERPTR_GLOBAL(logger_, "Resumption")
ResumptionDataDB::ResumptionDataDB(
+ DbStorage db_storage,
const application_manager::ApplicationManager& application_manager)
- : ResumptionData(application_manager)
- , db_(new utils::dbms::SQLDatabase(kDatabaseName)) {
+ : ResumptionData(application_manager) {
+ if (db_storage == In_File_Storage) {
+ db_ = new utils::dbms::SQLDatabase(kDatabaseName);
#ifndef __QNX__
- std::string path = application_manager_.get_settings().app_storage_folder();
- if (!path.empty()) {
- db_->set_path(path + "/");
- }
+ std::string path = application_manager_.get_settings().app_storage_folder();
+ if (!path.empty()) {
+ db_->set_path(path + "/");
+ }
+ } else if (db_storage == In_Memory_Storage) {
+ db_ = new utils::dbms::SQLDatabase();
#endif // __QNX__
+ } else {
+ LOG4CXX_AUTO_TRACE(logger_);
+ LOG4CXX_ERROR(logger_, "Get not existed type of database storage");
+ }
}
ResumptionDataDB::~ResumptionDataDB() {
@@ -189,45 +197,12 @@ void ResumptionDataDB::SaveApplication(
WriteDb();
}
-int32_t ResumptionDataDB::GetStoredHMILevel(
- const std::string& policy_app_id, const std::string& device_id) const {
- LOG4CXX_AUTO_TRACE(logger_);
-
- int hmi_level;
- if (SelectHMILevel(policy_app_id, device_id, hmi_level)) {
- LOG4CXX_INFO(logger_,
- "Application with policy application id = "
- << policy_app_id << " and device id = " << device_id
- << "has hmi level = " << hmi_level);
- return hmi_level;
- }
- LOG4CXX_FATAL(logger_, "HMI level doesn't exists in saved data");
- return -1;
-}
-
bool ResumptionDataDB::IsHMIApplicationIdExist(uint32_t hmi_app_id) const {
LOG4CXX_AUTO_TRACE(logger_);
return CheckExistenceHMIId(hmi_app_id);
}
-bool ResumptionDataDB::CheckSavedApplication(const std::string& policy_app_id,
- const std::string& device_id) {
- LOG4CXX_AUTO_TRACE(logger_);
- bool application_exist = false;
- if (!CheckExistenceApplication(policy_app_id, device_id, application_exist) ||
- !application_exist) {
- LOG4CXX_WARN(logger_,
- "Problem with access to DB or application does not exist");
- return false;
- }
- LOG4CXX_INFO(logger_,
- "Application with policy_app_id = "
- << policy_app_id << " and device_id = " << device_id
- << " does exist");
- return true;
-}
-
uint32_t ResumptionDataDB::GetHMIApplicationID(
const std::string& policy_app_id, const std::string& device_id) const {
LOG4CXX_AUTO_TRACE(logger_);
@@ -545,7 +520,7 @@ uint32_t ResumptionDataDB::SelectIgnOffTime() const {
bool ResumptionDataDB::CheckExistenceApplication(
const std::string& policy_app_id,
const std::string& device_id,
- bool application_exist) const {
+ bool& application_exist) const {
LOG4CXX_AUTO_TRACE(logger_);
bool result = false;
utils::dbms::SQLQuery query(db());
diff --git a/src/components/application_manager/src/resumption/resumption_data_json.cc b/src/components/application_manager/src/resumption/resumption_data_json.cc
index d9c755835a..f9b5ccf2ab 100644
--- a/src/components/application_manager/src/resumption/resumption_data_json.cc
+++ b/src/components/application_manager/src/resumption/resumption_data_json.cc
@@ -80,7 +80,6 @@ void ResumptionDataJson::SaveApplication(
json_app[strings::is_media_application] = application->IsAudioApplication();
json_app[strings::hmi_level] = static_cast<int32_t>(hmi_level);
json_app[strings::ign_off_count] = 0;
- json_app[strings::suspend_count] = 0;
json_app[strings::hash_id] = hash;
Formatters::CFormatterJsonBase::objToJsonValue(
GetApplicationCommands(application), tmp);
@@ -106,22 +105,6 @@ void ResumptionDataJson::SaveApplication(
LOG4CXX_DEBUG(logger_, "SaveApplication : " << json_app.toStyledString());
}
-int32_t ResumptionDataJson::GetStoredHMILevel(
- const std::string& policy_app_id, const std::string& device_id) const {
- using namespace app_mngr;
- LOG4CXX_AUTO_TRACE(logger_);
- sync_primitives::AutoLock autolock(resumption_lock_);
- int idx = GetObjectIndex(policy_app_id, device_id);
- if (idx != -1) {
- const Json::Value& json_app = GetSavedApplications()[idx];
- if (json_app.isMember(strings::hmi_level)) {
- return json_app[strings::hmi_level].asInt();
- }
- }
- LOG4CXX_FATAL(logger_, "There are some unknown keys among the stored apps");
- return -1;
-}
-
bool ResumptionDataJson::IsHMIApplicationIdExist(uint32_t hmi_app_id) const {
using namespace app_mngr;
LOG4CXX_AUTO_TRACE(logger_);
@@ -138,28 +121,6 @@ bool ResumptionDataJson::IsHMIApplicationIdExist(uint32_t hmi_app_id) const {
return false;
}
-bool ResumptionDataJson::CheckSavedApplication(const std::string& policy_app_id,
- const std::string& device_id) {
- using namespace app_mngr;
- LOG4CXX_AUTO_TRACE(logger_);
- sync_primitives::AutoLock autolock(resumption_lock_);
- int index = IsApplicationSaved(policy_app_id, device_id);
- if (-1 == index) {
- return false;
- }
-
- if (!IsResumptionDataValid(index)) {
- LOG4CXX_INFO(
- logger_,
- "Resumption data for app_id "
- << policy_app_id << " device id " << device_id
- << " is corrupted. Remove application from resumption list");
- RemoveApplicationFromSaved(policy_app_id, device_id);
- return false;
- }
- return true;
-}
-
uint32_t ResumptionDataJson::GetHMIApplicationID(
const std::string& policy_app_id, const std::string& device_id) const {
using namespace app_mngr;
@@ -189,14 +150,7 @@ void ResumptionDataJson::OnSuspend() {
Json::Value to_save;
for (Json::Value::iterator it = GetSavedApplications().begin();
it != GetSavedApplications().end();
- ++it) {
- if ((*it).isMember(strings::suspend_count)) {
- const uint32_t suspend_count = (*it)[strings::suspend_count].asUInt();
- (*it)[strings::suspend_count] = suspend_count + 1;
- } else {
- LOG4CXX_WARN(logger_, "Unknown key among saved applications");
- (*it)[strings::suspend_count] = 1;
- }
+ ++it) {
if ((*it).isMember(strings::ign_off_count)) {
Json::Value& ign_off_count = (*it)[strings::ign_off_count];
const uint32_t counter_value = ign_off_count.asUInt();
@@ -223,7 +177,11 @@ void ResumptionDataJson::OnAwake() {
++it) {
if ((*it).isMember(strings::ign_off_count)) {
const uint32_t ign_off_count = (*it)[strings::ign_off_count].asUInt();
- (*it)[strings::ign_off_count] = ign_off_count - 1;
+ if (0 == ign_off_count) {
+ LOG4CXX_WARN(logger_, "Application has not been suspended");
+ } else {
+ (*it)[strings::ign_off_count] = ign_off_count - 1;
+ }
} else {
LOG4CXX_WARN(logger_, "Unknown key among saved applications");
(*it)[strings::ign_off_count] = 0;