| 22 | } |
| 23 | |
| 24 | MwmVersion MwmVersion::Read(FilesContainerR const & container) |
| 25 | { |
| 26 | ModelReaderPtr versionReader = container.GetReader(VERSION_FILE_TAG); |
| 27 | ReaderSource<ModelReaderPtr> src(versionReader); |
| 28 | |
| 29 | size_t const prologSize = ARRAY_SIZE(MWM_PROLOG); |
| 30 | char prolog[prologSize]; |
| 31 | src.Read(prolog, prologSize); |
| 32 | |
| 33 | if (strcmp(prolog, MWM_PROLOG) != 0) |
| 34 | MYTHROW(CorruptedMwmFile, ()); |
| 35 | |
| 36 | MwmVersion version; |
| 37 | version.m_format = static_cast<Format>(ReadVarUint<uint32_t>(src)); |
| 38 | version.m_secondsSinceEpoch = ReadVarUint<uint32_t>(src); |
| 39 | return version; |
| 40 | } |
| 41 | |
| 42 | uint32_t MwmVersion::GetVersion() const |
| 43 | { |
no test coverage detected