6 #ifndef ACE_TIME_EXTENDED_ZONE_H
7 #define ACE_TIME_EXTENDED_ZONE_H
10 #include "../zoneinfo/infos.h"
11 #include "../zoneinfo/brokers.h"
12 #include "TimeOffset.h"
31 mZoneInfoBroker(zoneInfo) {}
39 mZoneInfoBroker(zoneInfo) {}
46 bool isNull()
const {
return mZoneInfoBroker.isNull(); }
60 return mZoneInfoBroker.zoneId();
65 uint8_t numEras = mZoneInfoBroker.numEras();
71 ace_common::KString
kname()
const {
72 const auto* name =
isNull() ? nullptr : mZoneInfoBroker.name();
74 return ace_common::KString(
75 name, zoneContext.fragments(), zoneContext.numFragments());
A thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some use...
bool isNull() const
Return true if zoneInfo is null.
void printNameTo(Print &printer) const
Print the full zone name to printer.
ExtendedZone(const extended::ZoneInfoBroker &zoneInfo)
Constructor from an extended::ZoneInfoBroker, used by ExtendedZoneProcessor.
uint32_t zoneId() const
Return the zoneId of the current zoneInfo.
TimeOffset stdOffset() const
Return the STDOFF of the last ZoneEra.
ace_common::KString kname() const
Return the name as a KString.
void printShortNameTo(Print &printer) const
Print the short pretty zone name to the printer.
ExtendedZone(const extended::ZoneInfo *zoneInfo)
Constructor from a raw extended::ZoneInfo* pointer, intended for manual inspection of a ZoneInfo reco...
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC,...
static TimeOffset forSeconds(int32_t seconds)
Create TimeOffset from seconds from 00:00.
Data broker for accessing a ZoneContext.
Data broker for accessing ZoneEra.
Representation of a given time zone, implemented as an array of ZoneEra records.