#pragma once #include #include "token.h" #include "subject.h" // constants for output design constexpr auto equals = "=================================================================="; constexpr auto underscore = "__________________________________________________________________"; constexpr auto dash = "------------------------------------------------------------------"; constexpr auto tab = "\t"; class Message { public: static QString massageTemplate(const QString& action, const QString& item, const QString& source, const QString& itemInfo) { return action + " " + item + " in " + source + ", " + item + ": '" + itemInfo + "'"; } }; class Data { friend class ColnodAPI; friend class DatabaseAPI; public: Data() = default; void clear(); void loadTokensFromJson(const QByteArray &data); void loadSubjectsFormJson(const QByteArray &data); QHash> updatedTokens; QList deletedTokens; QHash> updatedSubjects; QList deletedSubjects; }; struct PreparedData { public: PreparedData() = default; PreparedData(const std::shared_ptr &database, const std::shared_ptr &colnod) :databaseData(database), colnodData(colnod) { } // TODO: make unique_ptr ( neeed because of ColnodAPI ) std::shared_ptr databaseData; std::shared_ptr colnodData; };