forked from ondra/colnod-connector
48 lines
1.0 KiB
C++
48 lines
1.0 KiB
C++
#ifndef DATAMANAGER_H
|
|
#define DATAMANAGER_H
|
|
|
|
#include "token.h"
|
|
#include "subject.h"
|
|
#include "requestmanager.h"
|
|
#include "databasemanager.h"
|
|
#include <QJsonDocument>
|
|
#include <qjsonarray.h>
|
|
|
|
|
|
class DataManager : public QObject
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
DataManager();
|
|
|
|
void localSaveSubjects(QString jsonResponse);
|
|
void localSaveTokens(QString jsonResponse);
|
|
void localSaveSubjectsToDelete(QString jsonResponse);
|
|
void localSaveTokensToDelete(QString jsonResponse);
|
|
|
|
void pushSubjectsToDB();
|
|
void pushTokensToDB();
|
|
void deleteSubjectsFromDB();
|
|
void deleteTokensFromDB();
|
|
|
|
void updateLastSync();
|
|
uint64_t getLastUpdate();
|
|
|
|
bool haveData();
|
|
bool haveChangedData();
|
|
|
|
void emptyDatabase();
|
|
void clear();
|
|
|
|
private:
|
|
DatabaseManager *db = nullptr;
|
|
QList<QPointer<Subject>> subjects;
|
|
QList<QPointer<Token>> tokens;
|
|
QList<QString> subjectsToDelete;
|
|
QList<QString> tokensToDelete;
|
|
};
|
|
|
|
#endif // DATAMANAGER_H
|