Manifest.h 930 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // Copyright 2018 Dolphin Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <optional>
  5. #include <string>
  6. namespace ResourcePack
  7. {
  8. class Manifest
  9. {
  10. public:
  11. explicit Manifest(const std::string& text);
  12. bool IsValid() const;
  13. bool IsCompressed() const;
  14. const std::string& GetName() const;
  15. const std::string& GetVersion() const;
  16. const std::string& GetID() const;
  17. const std::string& GetError() const;
  18. const std::optional<std::string>& GetAuthors() const;
  19. const std::optional<std::string>& GetDescription() const;
  20. const std::optional<std::string>& GetWebsite() const;
  21. private:
  22. bool m_valid = true;
  23. bool m_compressed = false;
  24. std::string m_name;
  25. std::string m_version;
  26. std::string m_id;
  27. std::string m_error;
  28. std::optional<std::string> m_authors;
  29. std::optional<std::string> m_description;
  30. std::optional<std::string> m_website;
  31. };
  32. } // namespace ResourcePack