#ifndef TIMEZONE_HH #define TIMEZONE_HH #include #include #include class Logger; class Timezone { public: virtual ~Timezone() = default; static std::unique_ptr create(std::shared_ptr logger, std::filesystem::path geojsondb, std::filesystem::path tzinfo_dir); virtual std::optional get_local_time(double lat, double lng, time_t utc_time) const = 0; protected: Timezone() = default; Timezone(Timezone const&) = delete; Timezone& operator=(Timezone const&) = delete; }; #endif // TIMEZONE_HH