Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef SEAPROJECT_EKN_STORAGEMANAGER
- #define SEAPROJECT_EKN_STORAGEMANAGER
- #include <QString>
- #include <QFile>
- #include <QTextStream>
- #include <QHash>
- #include <QPair>
- namespace EKn
- {
- // Инфомация о состоянии оборудования, помещений итд
- struct StorageManagerData
- {
- QString id;
- QString propertyName;
- QString value;
- };
- /* класс сохраняет текущее состояние оборудования, помещений итд
- Ведет логи об изменении состояний
- */
- class StorageManager
- {
- public:
- static StorageManager& instance();
- enum Modifier { DB, User };
- void store(QString id, QString property, QString value, Modifier modifier);
- void log(QString id, QString property, QString value, QString comment = QString());
- void storelog(QString id, QString property, QString value, QString comment = QString());
- QList<StorageManagerData> updateInfo() const;
- void clearUpdatedList();
- private:
- StorageManager();
- QFile _stateLogFile;
- QTextStream _stateLog;
- QFile _stateFile;
- QTextStream _stateStorage;
- QHash<QPair<QString, QString>, QPair<QString, Modifier> > _stateCache;
- };
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement