summaryrefslogtreecommitdiff
path: root/universe/src/JsonRepository.h
diff options
context:
space:
mode:
Diffstat (limited to 'universe/src/JsonRepository.h')
-rw-r--r--universe/src/JsonRepository.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/universe/src/JsonRepository.h b/universe/src/JsonRepository.h
new file mode 100644
index 0000000..dc6e7f1
--- /dev/null
+++ b/universe/src/JsonRepository.h
@@ -0,0 +1,29 @@
+#pragma once
+
+#include <functional>
+#include <string>
+
+#include <kurator/universe/Repository.h>
+#include <kurator/universe/ShipType.h>
+#include <kurator/universe/TurretType.h>
+
+
+namespace kurator
+{
+namespace universe
+{
+
+
+class JsonRepository : public Repository
+{
+public:
+ explicit JsonRepository(const char* path);
+ ShipType ship_type(const std::string& id) const override;
+ TurretType turret_type(const std::string& id) const override;
+ void for_ship_types(std::function<void(const ShipType&)> func) const;
+ void for_turret_types(std::function<void(const TurretType&)> func) const;
+};
+
+
+} // namespace universe
+} // namespace kurator