blob: cfef0a7de9c07b7e24c42f638f1debf7fc74731d (
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
|
#pragma once
#include <memory>
#include "leveldb/cache.h"
#include "leveldb/db.h"
#include "result.hpp"
namespace database {
class Database {
public:
enum DatabaseError {
FAILED_TO_OPEN,
};
static auto Open() -> cpp::result<Database*, DatabaseError>;
~Database();
private:
std::unique_ptr<leveldb::DB> db_;
std::unique_ptr<leveldb::Cache> cache_;
Database(leveldb::DB* db, leveldb::Cache* cache);
};
} // namespace database
|