diff options
Diffstat (limited to 'universe/include')
-rw-r--r-- | universe/include/kurator/universe.h | 18 | ||||
-rw-r--r-- | universe/include/kurator/universe/NotFound.h | 24 | ||||
-rw-r--r-- | universe/include/kurator/universe/Repository.h | 25 |
3 files changed, 67 insertions, 0 deletions
diff --git a/universe/include/kurator/universe.h b/universe/include/kurator/universe.h new file mode 100644 index 0000000..73d06ae --- /dev/null +++ b/universe/include/kurator/universe.h @@ -0,0 +1,18 @@ +#pragma once + +#include <memory> + +#include "universe/Repository.h" + + +namespace kurator +{ +namespace universe +{ + + +auto load_sample() -> std::shared_ptr<Repository>; + + +} // namespace universe +} // namespace kurator diff --git a/universe/include/kurator/universe/NotFound.h b/universe/include/kurator/universe/NotFound.h new file mode 100644 index 0000000..03d344d --- /dev/null +++ b/universe/include/kurator/universe/NotFound.h @@ -0,0 +1,24 @@ +#pragma once + +#include <exception> +#include <string> + + +namespace kurator +{ +namespace universe +{ + + +class NotFound : public std::exception +{ +public: + explicit NotFound(std::string _id); + const char* what() const noexcept override; +private: + const std::string id; +}; + + +} // namespace universe +} // namespace kurator diff --git a/universe/include/kurator/universe/Repository.h b/universe/include/kurator/universe/Repository.h new file mode 100644 index 0000000..8d44793 --- /dev/null +++ b/universe/include/kurator/universe/Repository.h @@ -0,0 +1,25 @@ +#pragma once + +#include <string> + +#include "ShipType.h" +#include "TurretType.h" + + +namespace kurator +{ +namespace universe +{ + + +class Repository +{ +public: + virtual ~Repository() = default; + virtual ShipType ship_type(const std::string& id) const = 0; + virtual TurretType turret_type(const std::string& id) const = 0; +}; + + +} // namespace universe +} // namespace kurator |