1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #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_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
|