123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #ifndef LOTRO_DAT_LIBRARY_DATSTATUS_H
- #define LOTRO_DAT_LIBRARY_DATSTATUS_H
- #include <string>
- namespace LOTRO_DAT {
- class DatFile;
- /*!
- * \brief Модуль статуса dat-файла
- * \author Gi1dor
- * \date 06.07.2018
- *
- * Класс для хранения информации о выполняемых процессах в dat-файле. Позволяет отслеживать прогресс выполнения
- * во время операций создания резервных копий, применения патчей или извлечения файлов
- *
- * \warning Объекты этого класса не должны создаваться отдельно! Созданием и управлением ими занимается класс DatFile
- */
- class DatStatus {
- public:
- enum DAT_STATUS: int {
- E_INITIALISING,
- E_EXTRACTING,
- E_PATCHING,
- E_COMMITING,
- E_BACKUP_CREATING,
- E_BACKUP_RESTORING,
- E_BACKUP_REMOVING,
- E_GATHERING_INFO,
- E_FREE
- };
- DatStatus() = delete;
- DatStatus(const DatStatus &other) = delete;
- DatStatus &operator=(const DatStatus &other) = delete;
- ~DatStatus() = default;
- explicit DatStatus(DatFile *datFilePtr);
- void SetPercentage(unsigned percent);
- unsigned GetPercentage();
- void SetDebugMessage(const std::string &message);
- std::string GetDebugMessage();
- void SetStatus(DAT_STATUS status);
- DAT_STATUS GetStatus();
- bool CheckIfNotPatched();
- void ClearAll();
- private:
- DatFile *dat;
- unsigned percentage_;
- DAT_STATUS status_;
- std::string debug_message;
- };
- }
- #endif //LOTRO_DAT_LIBRARY_DATSTATUS_H
|