DatStatus.h 1.9 KB

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