diff options
author | Sergey Magidovich <mgsergio@mapswithme.com> | 2016-02-19 16:46:59 +0300 |
---|---|---|
committer | Sergey Yershov <yershov@corp.mail.ru> | 2016-03-23 16:45:27 +0300 |
commit | 060374379265ae5dc00166dc21391f2f12972a2a (patch) | |
tree | cb76bf7238da8a7d79d9044e82d86fe5594ce10d /platform/mwm_version.hpp | |
parent | 7f050eb375c206d01960673c550e21db7c62d392 (diff) |
Store seconds since epoch in mwm as version.
Diffstat (limited to 'platform/mwm_version.hpp')
-rw-r--r-- | platform/mwm_version.hpp | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/platform/mwm_version.hpp b/platform/mwm_version.hpp index db6870f950..0f18e0b74d 100644 --- a/platform/mwm_version.hpp +++ b/platform/mwm_version.hpp @@ -1,6 +1,7 @@ #pragma once #include "std/cstdint.hpp" +#include "std/string.hpp" class FilesContainerR; class ReaderSrc; @@ -19,20 +20,31 @@ enum class Format v5, // July 2015 (feature id is the index in vector now). v6, // October 2015 (offsets vector is in mwm now). v7, // November 2015 (supply different search index formats). - v8, // January 2016 (long strings in metadata). + v8, // February 2016 (long strings in metadata; store seconds since epoch in MwmVersion). lastFormat = v8 }; -struct MwmVersion +string DebugPrint(Format f); + +class MwmVersion { - MwmVersion(); +public: + Format GetFormat() const { return m_format; } + uint64_t GetSecondsSinceEpoch() const { return m_secondsSinceEpoch; } + /// \return version as YYMMDD. + uint32_t GetVersion() const; + + void SetFormat(Format format) { m_format = format; } + void SetSecondsSinceEpoch(uint64_t secondsSinceEpoch) { m_secondsSinceEpoch = secondsSinceEpoch; } - Format format; - uint32_t timestamp; +private: + /// Data layout format in mwm file. + Format m_format{Format::unknownFormat}; + uint64_t m_secondsSinceEpoch{0}; }; /// Writes latest format and current timestamp to the writer. -void WriteVersion(Writer & w, uint32_t versionDate); +void WriteVersion(Writer & w, uint64_t secondsSinceEpoch); /// Reads mwm version from src. void ReadVersion(ReaderSrc & src, MwmVersion & version); @@ -43,7 +55,7 @@ void ReadVersion(ReaderSrc & src, MwmVersion & version); bool ReadVersion(FilesContainerR const & container, MwmVersion & version); /// Helper function that is used in FindAllLocalMaps. -uint32_t ReadVersionTimestamp(ModelReaderPtr const & reader); +uint32_t ReadVersionDate(ModelReaderPtr const & reader); /// \returns true if version is version of an mwm which was generated after small mwm update. /// This means it contains routing file as well. |