[omim] Remove DataHeader from storage.

This commit is contained in:
Maxim Pimenov 2015-06-09 17:57:38 +03:00 committed by Alex Zolotarev
parent e4dd4a5ea2
commit bed6293927
4 changed files with 0 additions and 187 deletions

View file

@ -1,47 +0,0 @@
#include "storage/data_header.hpp"
#include "base/string_utils.hpp"
#include "platform/platform.hpp"
#include "coding/file_writer.hpp"
#include "indexer/cell_id.hpp"
#include "base/start_mem_debug.hpp"
namespace feature
{
DataHeader::DataHeader()
{
Reset();
}
namespace
{
struct do_reset
{
void operator() (string & t, int) { t.clear(); }
void operator() (uint64_t & t, int) { t = 0; }
void operator() (pair<int64_t, int64_t> &, int) {}
};
}
void DataHeader::Reset()
{
do_reset doReset;
for_each_tuple(m_params, doReset);
}
m2::RectD const DataHeader::Bounds() const
{
return Int64ToRect(Get<EBoundary>());
}
void DataHeader::SetBounds(m2::RectD const & r)
{
Set<EBoundary>(RectToInt64(r));
}
}

View file

@ -1,69 +0,0 @@
#pragma once
#include "base/std_serialization.hpp"
#include "storage/defines.hpp"
#include "coding/streams_sink.hpp"
#include "geometry/rect2d.hpp"
#include "std/string.hpp"
#include "std/tuple.hpp"
#include "base/start_mem_debug.hpp"
namespace feature
{
/// All file sizes are in bytes
class DataHeader
{
private:
typedef tuple<
pair<int64_t, int64_t> // boundary;
> params_t;
params_t m_params;
enum param_t { EBoundary };
template <int N>
typename tuple_element<N, params_t>::type const & Get() const { return m_params.get<N>(); }
template <int N, class T>
void Set(T const & t) { m_params.get<N>() = t; }
public:
DataHeader();
/// Zeroes all fields
void Reset();
m2::RectD const Bounds() const;
void SetBounds(m2::RectD const & r);
/// @name Serialization
//@{
template <class TWriter> void Save(TWriter & writer) const
{
stream::SinkWriterStream<TWriter> w(writer);
w << MAPS_MAJOR_VERSION_BINARY_FORMAT;
serial::save_tuple(w, m_params);
}
/// @return false if header can't be read (invalid or newer version format)
template <class TReader> bool Load(TReader & reader)
{
stream::SinkReaderStream<TReader> r(reader);
uint32_t ver;
r >> ver;
if (ver > MAPS_MAJOR_VERSION_BINARY_FORMAT)
return false;
Reset();
serial::load_tuple(r, m_params);
return true;
}
//@}
};
}
#include "base/stop_mem_debug.hpp"

View file

@ -1,54 +0,0 @@
#include "storage/data_header_reader.hpp"
#include "storage/data_header.hpp"
#include "coding/file_reader.hpp"
#include "coding/file_writer.hpp"
#include "base/start_mem_debug.hpp"
namespace feature
{
uint64_t GetSkipHeaderSize(Reader const & reader)
{
uint64_t const headerSize = ReadPrimitiveFromPos<uint64_t>(reader, 0);
return headerSize + sizeof(uint64_t);
}
uint64_t ReadDataHeader(string const & datFileName, feature::DataHeader & outHeader)
{
try
{
FileReader reader(datFileName);
uint64_t const toSkip = GetSkipHeaderSize(reader);
ReaderSource<FileReader> src(reader);
src.Skip(sizeof(uint64_t));
outHeader.Load(src);
return toSkip;
}
catch (Reader::Exception const & e)
{
ASSERT(false, ("Error reading header from dat file", e.what()));
return 0;
}
}
void WriteDataHeader(Writer & writer, feature::DataHeader const & header)
{
typedef vector<unsigned char> TBuffer;
TBuffer buffer;
MemWriter<TBuffer> w(buffer);
header.Save(w);
uint64_t const sz = buffer.size();
WriteToSink(writer, sz);
if (sz > 0)
writer.Write(&buffer[0], buffer.size());
}
}

View file

@ -1,17 +0,0 @@
#pragma once
#include "base/base.hpp"
#include "std/string.hpp"
class Writer;
class Reader;
namespace feature
{
class DataHeader;
/// @return total header size, which should be skipped for data read, or 0 if error
uint64_t GetSkipHeaderSize(Reader const & reader);
uint64_t ReadDataHeader(string const & datFileName, feature::DataHeader & outHeader);
void WriteDataHeader(Writer & writer, feature::DataHeader const & header);
}