#ifndef DATAMANAGER_H #define DATAMANAGER_H #include "token.h" #include "subject.h" #include "requestmanager.h" #include "databasemanager.h" #include #include class DataManager : public QObject { Q_OBJECT public: DataManager(); void getAndSetLastSync(); void fillFullTokensColnod(QString jsonResponse); void fillTokensColnod(QString jsonResponse); void fillSubjectsColnod(QString jsonResponse); void fillSubjectsToDeleteColnod(QString jsonResponse); void fillTokensToDeleteColnod(QString jsonResponse); void fillTokensDB(); void fillSubjectsDB(); void fillSubjectsToDeleteDB(); void fillTokensToDeleteDB(); void pushSubjectsToDB(); void pushTokensToDB(); void deleteSubjectsFromDB(); void deleteTokensFromDB(); void updateLastSync(); bool haveData(); bool haveChangedData(); bool haveProcessData(); void emptyDatabase(); void clear(); void loadTokensToAdd(); void loadTokensToDelete(); QHash>* getTokens() {return &tokensColnod;} QList* getTokensToDelete() {return &tokensToDeleteColnod;} const uint64_t &getLastSync() {return lastSync;} private: DatabaseManager *db = nullptr; uint64_t lastSync; QHash> subjectsColnod; QHash> tokensColnod; QHash> fullTokensColnod; QHash> subjectsDB; // in future QHash> tokensDB; QList subjectsToDeleteColnod; QList tokensToDeleteColnod; QList subjectsToDeleteDB; QList tokensToDeleteDB; }; #endif // DATAMANAGER_H