AStatusCode.hpp 955 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * author: Patrick-Christopher Mattulat
  3. * e-mail: webmaster@lynarstudios.com
  4. */
  5. #ifndef LS_ATLANTIS_ENGINE_INTERFACE_STATUS_CODE_HPP
  6. #define LS_ATLANTIS_ENGINE_INTERFACE_STATUS_CODE_HPP
  7. #include <Export.hpp>
  8. #include <glossary/StatusCodes.hpp>
  9. #include <string>
  10. #include <vector>
  11. namespace ls::atlantis::interfaces
  12. {
  13. class LS_ATLANTIS_DYNAMIC_GOAL AStatusCode
  14. {
  15. public:
  16. virtual ~AStatusCode();
  17. void addHint(const ::std::string &_hint);
  18. [[nodiscard]] ls::atlantis::glossary::StatusCodes getCode() const;
  19. [[nodiscard]] ::std::vector<::std::string> getHints() const;
  20. [[nodiscard]] ::std::string getText() const;
  21. protected:
  22. explicit AStatusCode(const ls::atlantis::glossary::StatusCodes &_statusCode, ::std::string _statusText);
  23. private:
  24. ls::atlantis::glossary::StatusCodes statusCode{};
  25. ::std::vector<::std::string> statusHints{};
  26. ::std::string statusText{};
  27. };
  28. }
  29. #endif