lmdb: Use namespace and have reflective-rapidjson code in its own header
This commit is contained in:
parent
f4774cac56
commit
fc32f790fb
|
@ -1 +1 @@
|
|||
Subproject commit bd72fce0a7e5ec77a042d2701158f58f64563172
|
||||
Subproject commit d53687bdee68ce1f9eb870564c1e972fb9cab7c7
|
|
@ -33,6 +33,7 @@ set(SRC_FILES
|
|||
parser/siglevel.cpp
|
||||
lmdb-safe/lmdb-safe.hh
|
||||
lmdb-safe/lmdb-typed.hh
|
||||
lmdb-safe/lmdb-reflective.hh
|
||||
lmdb-safe/lmdb-safe.cc
|
||||
lmdb-safe/lmdb-typed.cc)
|
||||
set(TEST_HEADER_FILES tests/parser_helper.h)
|
||||
|
|
|
@ -8,7 +8,7 @@ namespace LibPkg {
|
|||
|
||||
StorageDistribution::StorageDistribution(const char *path, std::uint32_t maxDbs)
|
||||
{
|
||||
m_env = getMDBEnv(path, MDB_NOSUBDIR, 0600, maxDbs);
|
||||
m_env = LMDBSafe::getMDBEnv(path, MDB_NOSUBDIR, 0600, maxDbs);
|
||||
}
|
||||
|
||||
PackageSpec PackageCache::retrieve(DatabaseStorage &databaseStorage, const std::string &packageName)
|
||||
|
@ -135,7 +135,7 @@ void PackageCache::clearCacheOnly(DatabaseStorage &databaseStorage)
|
|||
m_packages.clear(databaseStorage);
|
||||
}
|
||||
|
||||
DatabaseStorage::DatabaseStorage(const std::shared_ptr<MDBEnv> &env, PackageCache &packageCache, std::string_view uniqueDatabaseName)
|
||||
DatabaseStorage::DatabaseStorage(const std::shared_ptr<LMDBSafe::MDBEnv> &env, PackageCache &packageCache, std::string_view uniqueDatabaseName)
|
||||
: packageCache(packageCache)
|
||||
, packages(env, argsToString(uniqueDatabaseName, "_packages"))
|
||||
, providedDeps(env, argsToString(uniqueDatabaseName, "_provides"))
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "./package.h"
|
||||
|
||||
#include "../lmdb-safe/lmdb-reflective.hh"
|
||||
#include "../lmdb-safe/lmdb-safe.hh"
|
||||
#include "../lmdb-safe/lmdb-typed.hh"
|
||||
|
||||
|
@ -17,15 +18,15 @@
|
|||
namespace LibPkg {
|
||||
|
||||
using StorageID = std::uint32_t;
|
||||
using PackageStorage = TypedDBI<Package, index_on<Package, std::string, &Package::name>>;
|
||||
using DependencyStorage = TypedDBI<DatabaseDependency, index_on<Dependency, std::string, &DatabaseDependency::name>>;
|
||||
using PackageStorage = LMDBSafe::TypedDBI<Package, LMDBSafe::index_on<Package, std::string, &Package::name>>;
|
||||
using DependencyStorage = LMDBSafe::TypedDBI<DatabaseDependency, LMDBSafe::index_on<Dependency, std::string, &DatabaseDependency::name>>;
|
||||
using LibraryDependencyStorage
|
||||
= TypedDBI<DatabaseLibraryDependency, index_on<DatabaseLibraryDependency, std::string, &DatabaseLibraryDependency::name>>;
|
||||
= LMDBSafe::TypedDBI<DatabaseLibraryDependency, LMDBSafe::index_on<DatabaseLibraryDependency, std::string, &DatabaseLibraryDependency::name>>;
|
||||
|
||||
struct PackageCache;
|
||||
|
||||
struct DatabaseStorage {
|
||||
explicit DatabaseStorage(const std::shared_ptr<MDBEnv> &env, PackageCache &packageCache, std::string_view uniqueDatabaseName);
|
||||
explicit DatabaseStorage(const std::shared_ptr<LMDBSafe::MDBEnv> &env, PackageCache &packageCache, std::string_view uniqueDatabaseName);
|
||||
PackageCache &packageCache;
|
||||
PackageStorage packages;
|
||||
DependencyStorage providedDeps;
|
||||
|
@ -34,7 +35,7 @@ struct DatabaseStorage {
|
|||
LibraryDependencyStorage requiredLibs;
|
||||
|
||||
private:
|
||||
std::shared_ptr<MDBEnv> m_env;
|
||||
std::shared_ptr<LMDBSafe::MDBEnv> m_env;
|
||||
};
|
||||
|
||||
struct PackageCacheRef {
|
||||
|
@ -149,7 +150,7 @@ struct StorageDistribution {
|
|||
std::unique_ptr<DatabaseStorage> forDatabase(std::string_view uniqueDatabaseName);
|
||||
|
||||
private:
|
||||
std::shared_ptr<MDBEnv> m_env;
|
||||
std::shared_ptr<LMDBSafe::MDBEnv> m_env;
|
||||
PackageCache m_packageCache;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue