diff options
author | Denis Koronchik <denis@mapswithme.com> | 2014-09-19 14:33:48 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:28:28 +0300 |
commit | 1bc64eb7a9d4c2052001a3d0c230dcd0cdfb93f0 (patch) | |
tree | 1e948a4b099367db51a8b11f1a82b23beae1fcd3 /coding/file_container.cpp | |
parent | a49c0c72cbeadaaa63fc1492d512289b5f1b8b15 (diff) |
[routing] Store last state for routing
Diffstat (limited to 'coding/file_container.cpp')
-rw-r--r-- | coding/file_container.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/coding/file_container.cpp b/coding/file_container.cpp index 39a9af5583..f0868c2ed4 100644 --- a/coding/file_container.cpp +++ b/coding/file_container.cpp @@ -97,8 +97,26 @@ FilesContainerBase::Info const * FilesContainerBase::GetInfo(Tag const & tag) co // FilesMappingContainer ///////////////////////////////////////////////////////////////////////////// +FilesMappingContainer::FilesMappingContainer() + : m_fd(-1) +{ +} + FilesMappingContainer::FilesMappingContainer(string const & fName) + : m_fd(-1) +{ + Open(fName); +} + +FilesMappingContainer::~FilesMappingContainer() +{ + Close(); +} + +void FilesMappingContainer::Open(string const & fName) { + Close(); + { FileReader reader(fName, 10, 1); ReadInfo(reader); @@ -109,9 +127,10 @@ FilesMappingContainer::FilesMappingContainer(string const & fName) MYTHROW(Reader::OpenException, ("Can't open file:", fName)); } -FilesMappingContainer::~FilesMappingContainer() +void FilesMappingContainer::Close() { - close(m_fd); + if (m_fd != -1) + close(m_fd); } FilesMappingContainer::Handle FilesMappingContainer::Map(Tag const & tag) const |