blob: 150a2af03070b786a9994ab63e63f7d84ef79ae1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#include "generator/ugc_translator.hpp"
#include "generator/ugc_db.hpp"
#include "ugc/serdes_json.hpp"
#include "coding/multilang_utf8_string.hpp"
#include "base/string_utils.hpp"
#include "3party/jansson/myjansson.hpp"
namespace generator
{
UGCTranslator::UGCTranslator() : m_db(":memory:") {}
UGCTranslator::UGCTranslator(std::string const & dbFilename) : m_db(dbFilename) {}
bool UGCTranslator::TranslateUGC(osm::Id const & id, ugc::UGC & ugc)
{
std::vector<uint8_t> blob;
if (!m_db.Get(id, blob))
return false;
std::string src(blob.cbegin(), blob.cend());
ugc::DeserializerJsonV0 des(src);
des(ugc);
return true;
}
void UGCTranslator::CreateDb(std::string const & data)
{
CHECK(m_db.Exec(data), ());
}
} // namespace generator
|