47 lines
1.5 KiB
C++
47 lines
1.5 KiB
C++
#ifndef BOLTDB_H
|
|
#define BOLTDB_H
|
|
|
|
#include "interop.h"
|
|
#include <functional>
|
|
|
|
typedef std::function<void(QByteArray)> NameReciever;
|
|
|
|
class BoltDB
|
|
{
|
|
protected:
|
|
BoltDB();
|
|
|
|
GoInt64 gmsDbRef;
|
|
|
|
public:
|
|
static BoltDB* createFrom(QString filePath, bool readOnly, QString &errorOut);
|
|
|
|
bool listBucketsAtRoot(QString& errorOut, NameReciever cb);
|
|
|
|
bool listBuckets(const QList<QByteArray>& bucketPath, QString& errorOut, NameReciever cb);
|
|
|
|
bool addBucket(const QList<QByteArray>& bucketPath, QByteArray bucketName, QString& errorOut);
|
|
|
|
bool deleteBucket(const QList<QByteArray>& bucketPath, QByteArray bucketName, QString& errorOut);
|
|
|
|
bool setItem(const QList<QByteArray>& bucketPath, QByteArray keyName, QByteArray value, QString& errorOut);
|
|
|
|
bool deleteItem(const QList<QByteArray>& bucketPath, QByteArray keyName, QString& errorOut);
|
|
|
|
bool listKeys(const QList<QByteArray>& bucketPath, QString& errorOut, std::function<void(QByteArray, int64_t)> cb);
|
|
|
|
bool getData(const QList<QByteArray>& bucketPath, QByteArray key, std::function<void(QByteArray)> onSuccess, std::function<void(QString)> onError);
|
|
|
|
bool getStatsJSON(std::function<void(QByteArray)> onSuccess, std::function<void(QString)> onError);
|
|
|
|
bool getBucketStatsJSON(const QList<QByteArray>& bucketPath, std::function<void(QByteArray)> onSuccess, std::function<void(QString)> onError);
|
|
|
|
~BoltDB();
|
|
|
|
protected:
|
|
|
|
bool pumpNext(GoInt64 jobRef, QString& errorOut, NameReciever cb);
|
|
};
|
|
|
|
#endif // BOLTDB_H
|