#ifndef GEO_JSON_HH #define GEO_JSON_HH #include #include #include #include #include class Logger; class GeoJson { public: virtual ~GeoJson() = default; static std::unique_ptr create(std::shared_ptr logger, std::filesystem::path db); virtual std::optional 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