DatStatus.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef LOTRO_DAT_LIBRARY_DATSTATUS_H
  2. #define LOTRO_DAT_LIBRARY_DATSTATUS_H
  3. #include <string>
  4. namespace LOTRO_DAT {
  5. class DatFile;
  6. /*!
  7. * \brief Модуль статуса dat-файла
  8. * \author Gi1dor
  9. * \date 06.07.2018
  10. *
  11. * Класс для хранения информации о выполняемых процессах в dat-файле. Позволяет отслеживать прогресс выполнения
  12. * во время операций создания резервных копий, применения патчей или извлечения файлов
  13. *
  14. * \warning Объекты этого класса не должны создаваться отдельно! Созданием и управлением ими занимается класс DatFile
  15. */
  16. class DatStatus {
  17. public:
  18. DatStatus() = delete;
  19. DatStatus(const DatStatus &other) = delete;
  20. DatStatus &operator=(const DatStatus &other) = delete;
  21. ~DatStatus() = default;
  22. explicit DatStatus(DatFile *datFilePtr);
  23. void UpdatePercentage(unsigned percent);
  24. unsigned GetPercentage();
  25. void UpdateStatusText(const std::string &message);
  26. void RemoveStatusText();
  27. std::string GetStatusText();
  28. void UpdateAdditionalMessage(const std::string &message);
  29. void RemoveAdditionalMessage();
  30. std::string GetAdditionalMessage();
  31. bool CheckIfNotPatched();
  32. void ClearAll();
  33. private:
  34. DatFile *dat;
  35. unsigned percentage;
  36. std::string status_text;
  37. std::string additional_message;
  38. };
  39. }
  40. #endif //LOTRO_DAT_LIBRARY_DATSTATUS_H