kopia lustrzana https://gitlab.com/tomaszg/geostat
40 wiersze
806 B
C++
40 wiersze
806 B
C++
#pragma once
|
|
|
|
#include "cache.h"
|
|
#include "api.h"
|
|
|
|
#include <string>
|
|
#include <nlohmann/json_fwd.hpp>
|
|
|
|
typedef struct sqlite3 sqlite3;
|
|
typedef struct sqlite3_stmt sqlite3_stmt;
|
|
class Okapi;
|
|
|
|
using json = nlohmann::json;
|
|
|
|
class OCdb : public Api {
|
|
private:
|
|
sqlite3* db;
|
|
sqlite3_stmt* stmt;
|
|
int revision;
|
|
|
|
bool request(std::string req);
|
|
bool init_part(std::string json_file); // read db dump
|
|
bool parse_item(json j);
|
|
bool update_cache(json j);
|
|
bool update_log(json j);
|
|
bool read_revision();
|
|
|
|
public:
|
|
OCdb(std::string db_file);
|
|
~OCdb();
|
|
|
|
bool init(std::string json_file); // read db dump
|
|
bool update(Okapi& oc); // apply changelog
|
|
int get_revision();
|
|
void set_revision(int rev);
|
|
|
|
Caches get_user_caches_not_found(std::string uuid);
|
|
Caches get_user_caches(std::string uuid, int count = 0);
|
|
};
|