#ifndef V8_BASE_TIMEZONE_CACHE_H_
#define V8_BASE_TIMEZONE_CACHE_H_
namespace v8 {
namespace base {
class TimezoneCache {
public:
virtual const char* LocalTimezone(double time_ms) = 0;
virtual double DaylightSavingsOffset(double time_ms) = 0;
virtual double LocalTimeOffset(double time_ms, bool is_utc) = 0;
* Time zone redetection indicator for Clear function.
*
* kSkip indicates host time zone doesn't have to be redetected.
* kRedetect indicates host time zone should be redetected, and used to set
* the default time zone.
*
* The host time zone detection may require file system access or similar
* operations unlikely to be available inside a sandbox. If v8 is run inside a
* sandbox, the host time zone has to be detected outside the sandbox
* separately.
*/
enum class TimeZoneDetection { kSkip, kRedetect };
virtual void Clear(TimeZoneDetection time_zone_detection) = 0;
virtual ~TimezoneCache() = default;
};
}
}
#endif