/* * author: Patrick-Christopher Mattulat * e-mail: webmaster@lynarstudios.com */ #ifndef LS_ATLANTIS_ENGINE_INTERFACE_STATUS_CODE_HPP #define LS_ATLANTIS_ENGINE_INTERFACE_STATUS_CODE_HPP #include #include #include #include namespace ls::atlantis::interfaces { class LS_ATLANTIS_DYNAMIC_GOAL AStatusCode { public: virtual ~AStatusCode(); void addHint(const ::std::string &_hint); [[nodiscard]] ls::atlantis::glossary::StatusCodes getCode() const; [[nodiscard]] ::std::vector<::std::string> getHints() const; [[nodiscard]] ::std::string getText() const; protected: explicit AStatusCode(const ls::atlantis::glossary::StatusCodes &_statusCode, ::std::string _statusText); private: ls::atlantis::glossary::StatusCodes statusCode{}; ::std::vector<::std::string> statusHints{}; ::std::string statusText{}; }; } #endif