Albert S
404f05b89f
Purpose is to seperate certain logic from SQLite and generalize it more. Even though we only have Sqlite atm, in general the database layers must be stupid as possible, while QSSQuery should do most of the hard work. Fixes in Tokenizer logic. Switched to C++17.
34 rivejä
839 B
C++
34 rivejä
839 B
C++
#ifndef SQLITEDBSERVICE_H
|
|
#define SQLITEDBSERVICE_H
|
|
#include <QFileInfo>
|
|
#include "databasefactory.h"
|
|
#include "utils.h"
|
|
#include "pagedata.h"
|
|
#include "filedata.h"
|
|
#include "../shared/sqlitesearch.h"
|
|
#include "../shared/token.h"
|
|
enum SaveFileResult
|
|
{
|
|
OK,
|
|
SKIPPED,
|
|
DBFAIL,
|
|
PROCESSFAIL
|
|
};
|
|
|
|
class SqliteDbService
|
|
{
|
|
private:
|
|
DatabaseFactory *dbFactory = nullptr;
|
|
public:
|
|
SqliteDbService(DatabaseFactory &dbFactory);
|
|
SaveFileResult saveFile(QFileInfo fileInfo, QVector<PageData> &pageData);
|
|
int getFiles(QVector<FileData> &results, QString wildCardPattern, int offset , int limit);
|
|
bool deleteFile(QString path);
|
|
bool fileExistsInDatabase(QString path);
|
|
bool fileExistsInDatabase(QString path, qint64 mtime);
|
|
QVector<SearchResult> search(const QSSQuery &query);
|
|
|
|
};
|
|
|
|
#endif // SQLITEDBSERVICE_H
|