From 5d0cba2b45aa30226ba72231b35424d404a5eec1 Mon Sep 17 00:00:00 2001 From: Aki Date: Tue, 15 Nov 2022 00:37:54 +0100 Subject: Implemented naive skeleton for types repository in universe --- universe/include/kurator/universe.h | 18 ++++++++++++++++++ universe/include/kurator/universe/NotFound.h | 24 ++++++++++++++++++++++++ universe/include/kurator/universe/Repository.h | 25 +++++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 universe/include/kurator/universe.h create mode 100644 universe/include/kurator/universe/NotFound.h create mode 100644 universe/include/kurator/universe/Repository.h (limited to 'universe/include') 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 + +#include "universe/Repository.h" + + +namespace kurator +{ +namespace universe +{ + + +auto load_sample() -> std::shared_ptr; + + +} // 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 +#include + + +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 + +#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 -- cgit v1.1