diff options
author | Andriy Byzhynar (GitHub) <AByzhynar@luxoft.com> | 2016-06-23 17:33:32 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-23 17:33:32 +0300 |
commit | 827bcaf0aa39348fa7ec4df796c4e124f7143169 (patch) | |
tree | 517a69ced2f09b702cb2368e7ae412efec2ea838 /src/components/application_manager/src/resumption/resumption_data_json.cc | |
parent | 833cac1b1de464f53d5709904a4ee24634be2936 (diff) | |
download | sdl_core-827bcaf0aa39348fa7ec4df796c4e124f7143169.tar.gz |
Revert "Cover resumption with unit tests"revert-618-feature/Cover_resumption_with_unit_tests
Diffstat (limited to 'src/components/application_manager/src/resumption/resumption_data_json.cc')
-rw-r--r-- | src/components/application_manager/src/resumption/resumption_data_json.cc | 29 |
1 files changed, 28 insertions, 1 deletions
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 40262ff114..bb2faa412c 100644 --- a/src/components/application_manager/src/resumption/resumption_data_json.cc +++ b/src/components/application_manager/src/resumption/resumption_data_json.cc @@ -442,6 +442,31 @@ ssize_t ResumptionDataJson::GetObjectIndex(const std::string& policy_app_id, return -1; } +bool ResumptionDataJson::IsResumptionDataValid(uint32_t index) const { + using namespace app_mngr; + using namespace utils::json; + SDL_AUTO_TRACE(); + sync_primitives::AutoLock autolock(resumption_lock_); + const JsonValueRef json_app = GetSavedApplications()[index]; + if (!json_app.HasMember(strings::app_id) || + !json_app.HasMember(strings::ign_off_count) || + !json_app.HasMember(strings::hmi_level) || + !json_app.HasMember(strings::hmi_app_id) || + !json_app.HasMember(strings::time_stamp) || + !json_app.HasMember(strings::device_id)) { + SDL_ERROR("Wrong resumption data"); + return false; + } + + if (json_app.HasMember(strings::hmi_app_id) && + 0 >= json_app[strings::hmi_app_id].AsUInt()) { + SDL_ERROR("Wrong resumption hmi app ID"); + return false; + } + + return true; +} + void ResumptionDataJson::SetSavedApplication( utils::json::JsonValueRef apps_json) { SDL_AUTO_TRACE(); @@ -483,7 +508,9 @@ bool ResumptionDataJson::DropAppDataResumption(const std::string& device_id, application[strings::application_global_properties].Clear(); application[strings::application_subscribtions].Clear(); application[strings::application_files].Clear(); - application.RemoveMember(strings::grammar_id); + // Seems there is no interface for json wrapper - needs to be created + // application.removeMember(strings::grammar_id); + application[strings::grammar_id].Clear(); SDL_DEBUG("Resumption data for application " << app_id << " with device_id " << device_id << " has been dropped."); |