colnod-connector/src/colnod/datamanager.h
2019-10-17 10:46:54 +02:00

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