summaryrefslogtreecommitdiffstats
path: root/common/storage.h
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-05-06 12:37:30 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-05-06 12:37:30 +0200
commitf52ed4fd64994985f1061c5fcd20dccaa61fbc67 (patch)
tree037ab2cff55452dfcfb1eae772458ebab020d749 /common/storage.h
parent8eab2b67fdf83c657f996debfc238703a78b337b (diff)
downloadsink-f52ed4fd64994985f1061c5fcd20dccaa61fbc67.tar.gz
sink-f52ed4fd64994985f1061c5fcd20dccaa61fbc67.zip
A defined table layout
Diffstat (limited to 'common/storage.h')
-rw-r--r--common/storage.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/common/storage.h b/common/storage.h
index d1dda3e..42cdcac 100644
--- a/common/storage.h
+++ b/common/storage.h
@@ -25,10 +25,16 @@
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 DbLayout {
34 QByteArray name;
35 QMap<QByteArray, int> tables;
36};
37
32class SINK_EXPORT DataStore 38class SINK_EXPORT DataStore
33{ 39{
34public: 40public:
@@ -151,6 +157,7 @@ public:
151 }; 157 };
152 158
153 DataStore(const QString &storageRoot, const QString &name, AccessMode mode = ReadOnly); 159 DataStore(const QString &storageRoot, const QString &name, AccessMode mode = ReadOnly);
160 DataStore(const QString &storageRoot, const DbLayout &layout, AccessMode mode = ReadOnly);
154 ~DataStore(); 161 ~DataStore();
155 162
156 Transaction createTransaction(AccessMode mode = ReadWrite, const std::function<void(const DataStore::Error &error)> &errorHandler = std::function<void(const DataStore::Error &error)>()); 163 Transaction createTransaction(AccessMode mode = ReadWrite, const std::function<void(const DataStore::Error &error)> &errorHandler = std::function<void(const DataStore::Error &error)>());