diff options
author | Veronica Veremjova <vveremjova@luxoft.com> | 2016-05-11 16:32:39 +0300 |
---|---|---|
committer | Veronica Veremjova <vveremjova@luxoft.com> | 2016-05-12 15:52:17 +0300 |
commit | b908974e224a6375e3d4aa1bbda859dfbb4a58dc (patch) | |
tree | 9b749c95982bbb8305f74adae87dd62559b0b25b /src/components/application_manager/src/resumption | |
parent | b58e6058ea5be28b09583a7f57757b7cf369591c (diff) | |
download | sdl_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')
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; |