summaryrefslogtreecommitdiffstats
path: root/common/storage.h
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-07-03 14:02:27 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-07-03 14:02:27 +0200
commit55fe06979ceebe67553135b43aa47e70d931304b (patch)
tree16b10a744879cc1872d6c07624b59ae64469ddbf /common/storage.h
parent56fae95f49a1ca8ca614bd9f89b0ea5f872765e9 (diff)
parent288946f1694c2abe1d2c5800c87339d1e8780e4b (diff)
downloadsink-55fe06979ceebe67553135b43aa47e70d931304b.tar.gz
sink-55fe06979ceebe67553135b43aa47e70d931304b.zip
Merge branch 'develop'
Diffstat (limited to 'common/storage.h')
-rw-r--r--common/storage.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/common/storage.h b/common/storage.h
index 71e9401..8c129df 100644
--- a/common/storage.h
+++ b/common/storage.h
@@ -25,10 +25,19 @@
25#include <string> 25#include <string>
26#include <functional> 26#include <functional>
27#include <QString> 27#include <QString>
28#include <QMap>
28 29
29namespace Sink { 30namespace Sink {
30namespace Storage { 31namespace Storage {
31 32
33struct SINK_EXPORT DbLayout {
34 typedef QMap<QByteArray, int> Databases;
35 DbLayout();
36 DbLayout(const QByteArray &, const Databases &);
37 QByteArray name;
38 Databases tables;
39};
40
32class SINK_EXPORT DataStore 41class SINK_EXPORT DataStore
33{ 42{
34public: 43public:
@@ -132,7 +141,6 @@ public:
132 void abort(); 141 void abort();
133 142
134 QList<QByteArray> getDatabaseNames() const; 143 QList<QByteArray> getDatabaseNames() const;
135 bool validateNamedDatabases();
136 144
137 NamedDatabase openDatabase(const QByteArray &name = {"default"}, 145 NamedDatabase openDatabase(const QByteArray &name = {"default"},
138 const std::function<void(const DataStore::Error &error)> &errorHandler = {}, bool allowDuplicates = false) const; 146 const std::function<void(const DataStore::Error &error)> &errorHandler = {}, bool allowDuplicates = false) const;
@@ -152,6 +160,7 @@ public:
152 }; 160 };
153 161
154 DataStore(const QString &storageRoot, const QString &name, AccessMode mode = ReadOnly); 162 DataStore(const QString &storageRoot, const QString &name, AccessMode mode = ReadOnly);
163 DataStore(const QString &storageRoot, const DbLayout &layout, AccessMode mode = ReadOnly);
155 ~DataStore(); 164 ~DataStore();
156 165
157 Transaction createTransaction(AccessMode mode = ReadWrite, const std::function<void(const DataStore::Error &error)> &errorHandler = std::function<void(const DataStore::Error &error)>()); 166 Transaction createTransaction(AccessMode mode = ReadWrite, const std::function<void(const DataStore::Error &error)> &errorHandler = std::function<void(const DataStore::Error &error)>());