diff options
Diffstat (limited to 'src/geo_json.hh')
| -rw-r--r-- | src/geo_json.hh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/geo_json.hh b/src/geo_json.hh new file mode 100644 index 0000000..d5f4030 --- /dev/null +++ b/src/geo_json.hh @@ -0,0 +1,28 @@ +#ifndef GEO_JSON_HH +#define GEO_JSON_HH + +#include <filesystem> +#include <memory> +#include <optional> +#include <string> +#include <string_view> + +class Logger; + +class GeoJson { +public: + virtual ~GeoJson() = default; + + static std::unique_ptr<GeoJson> create(std::shared_ptr<Logger> logger, + std::filesystem::path db); + + virtual std::optional<std::string> get_data(double lat, double lng, + std::string_view data) const = 0; + +protected: + GeoJson() = default; + GeoJson(GeoJson const&) = delete; + GeoJson& operator=(GeoJson const&) = delete; +}; + +#endif // GEO_JSON_HH |
