diff options
author | Arsentiy Milchakov <milcars@mapswithme.com> | 2018-10-30 16:02:52 +0300 |
---|---|---|
committer | Roman Kuznetsov <r.kuznetsow@gmail.com> | 2018-10-31 16:01:09 +0300 |
commit | 9308c996d5a5f02e30f3f509f7988ceafa11bb0b (patch) | |
tree | f3c69492e8a9b12a44eec5649fba51f392e92446 /metrics | |
parent | 279efba3e57c01e7b0aace8fc189c0e7eb683c30 (diff) |
Notification manager skeleton + small fix for eye
Diffstat (limited to 'metrics')
-rw-r--r-- | metrics/eye.cpp | 9 | ||||
-rw-r--r-- | metrics/eye_info.hpp | 4 | ||||
-rw-r--r-- | metrics/eye_serdes.cpp | 1 | ||||
-rw-r--r-- | metrics/eye_storage.cpp | 2 |
4 files changed, 10 insertions, 6 deletions
diff --git a/metrics/eye.cpp b/metrics/eye.cpp index c91b679a54..942a4bf5e7 100644 --- a/metrics/eye.cpp +++ b/metrics/eye.cpp @@ -28,7 +28,7 @@ void Load(Info & info) std::vector<int8_t> infoFileData; std::vector<int8_t> mapObjectsFileData; - if (!Storage::LoadInfo(infoFileData) || !Storage::LoadMapObjects(mapObjectsFileData)) + if (!Storage::LoadInfo(infoFileData) && !Storage::LoadMapObjects(mapObjectsFileData)) { info = {}; return; @@ -36,8 +36,11 @@ void Load(Info & info) try { - Serdes::DeserializeInfo(infoFileData, info); - Serdes::DeserializeMapObjects(mapObjectsFileData, info.m_mapObjects); + if (!infoFileData.empty()) + Serdes::DeserializeInfo(infoFileData, info); + + if (!mapObjectsFileData.empty()) + Serdes::DeserializeMapObjects(mapObjectsFileData, info.m_mapObjects); } catch (Serdes::UnknownVersion const & ex) { diff --git a/metrics/eye_info.hpp b/metrics/eye_info.hpp index 3873e5b521..6c5e35d9ec 100644 --- a/metrics/eye_info.hpp +++ b/metrics/eye_info.hpp @@ -198,8 +198,12 @@ struct MapObject return m_pos == rhs.m_pos && m_bestType == rhs.m_bestType; } + DECLARE_VISITOR(visitor(m_bestType, "type"), visitor(m_pos, "pos"), + visitor(m_readableName, "name")); + std::string m_bestType; ms::LatLon m_pos; + std::string m_readableName; }; using MapObjects = std::unordered_map<MapObject, MapObject::Events, MapObject::Hash>; diff --git a/metrics/eye_serdes.cpp b/metrics/eye_serdes.cpp index b46132269f..3b87c0c38f 100644 --- a/metrics/eye_serdes.cpp +++ b/metrics/eye_serdes.cpp @@ -1,5 +1,4 @@ #include "metrics/eye_serdes.hpp" -#include "metrics/eye_info.hpp" #include "coding/reader.hpp" #include "coding/serdes_json.hpp" diff --git a/metrics/eye_storage.cpp b/metrics/eye_storage.cpp index 72e4cad469..eb00b003ca 100644 --- a/metrics/eye_storage.cpp +++ b/metrics/eye_storage.cpp @@ -9,8 +9,6 @@ #include "base/logging.hpp" -#include <type_traits> - namespace { bool Save(std::string const & filename, std::vector<int8_t> const & src) |