6#include <QtCore/QString>
7#include <QtCore/QByteArray>
10#include <istd/IPolymorphic.h>
17class IDocumentTable: istd::IPolymorphic
20 virtual quint64 AddDocument(
const QByteArray& data) = 0;
21 virtual quint64 AddDocument(quint64 data) = 0;
22 virtual quint64 AddDocument(
const QByteArray& key,
const QByteArray& data) = 0;
23 virtual QByteArray GetDocument() = 0;
24 virtual QByteArray GetDocument(quint64 key) = 0;
25 virtual QByteArray GetDocument(
const QByteArray& key) = 0;
26 virtual bool GetKey(quint64& key)
const = 0;
27 virtual bool GetKey(QByteArray& key)
const = 0;
28 virtual bool HasRecord(quint64 key) = 0;
29 virtual bool HasRecord(
const QByteArray& key) = 0;
30 virtual bool UpdateDocument(quint64 key,
const QByteArray& data) = 0;
31 virtual bool UpdateDocument(
const QByteArray& key,
const QByteArray& data) = 0;
32 virtual bool GetKey(quint64& key,
const QByteArray& value = QByteArray()) = 0;
33 virtual bool GetFirstKey(quint64& key) = 0;
34 virtual bool GetLastKey(quint64& key) = 0;
35 virtual QByteArray GetKeyBA(
const QByteArray& value = QByteArray()) = 0;
36 virtual bool CreateIndex() = 0;
37 virtual bool MoveTo(quint64 key) = 0;
38 virtual bool MoveTo(
const QByteArray& key) = 0;
39 virtual bool MoveToFirst() = 0;
40 virtual bool MoveToLast() = 0;
41 virtual bool MoveToLowerBound(quint64 key) = 0;
42 virtual bool MoveToLowerBound(
const QByteArray& key) = 0;
43 virtual bool MoveToUpperBound(quint64 key) = 0;
44 virtual bool MoveToUpperBound(
const QByteArray& key) = 0;
45 virtual bool MoveToNext() = 0;
46 virtual bool MoveToPrevious() = 0;
47 virtual bool MoveToValue(
const QByteArray& value) = 0;
48 virtual bool RemoveDocument() = 0;
49 virtual bool RemoveDocument(quint64 key,
const QByteArray& value = QByteArray()) = 0;
50 virtual bool RemoveDocument(
const QByteArray& key,
const QByteArray& value = QByteArray()) = 0;