AceTime
3.0.0
Date and time classes for Arduino that support timezones from the TZ Database.
|
A specific implementation of ExtendedZoneProcessorTemplate that uses the complete::ZoneXxxBrokers classes which read from 'zonedbc' files in PROGMEM flash memory using the high-resolution zoneinfo data structures. More...
#include <CompleteZoneProcessor.h>
Public Member Functions | |
CompleteZoneProcessor (const complete::Info::ZoneInfo *zoneInfo=nullptr) | |
![]() | |
bool | isLink () const override |
Return true if timezone is a Link entry pointing to a Zone entry. | |
uint32_t | getZoneId () const override |
Return the unique stable zoneId. | |
FindResult | findByLocalDateTime (const LocalDateTime &ldt) const override |
Return the search results at given LocalDateTime. | |
FindResult | findByEpochSeconds (acetime_t epochSeconds) const override |
void | printNameTo (Print &printer) const override |
Print a human-readable identifier (e.g. More... | |
void | printShortNameTo (Print &printer) const override |
Print a short human-readable identifier (e.g. More... | |
void | printTargetNameTo (Print &printer) const override |
Print the full identifier (e.g. More... | |
void | log () const |
Used only for debugging. | |
void | resetTransitionAllocSize () |
Reset the TransitionStorage high water mark. More... | |
uint8_t | getTransitionAllocSize () const |
Get the largest allocation size of TransitionStorage. More... | |
void | setZoneKey (uintptr_t zoneKey) override |
Set the opaque zoneKey of this object to a new value, reseting any internally cached information. More... | |
bool | equalsZoneKey (uintptr_t zoneKey) const override |
Return true if ZoneProcessor is associated with the given opaque zoneKey. More... | |
void | setZoneInfoStore (const typename D::ZoneInfoStore *zoneInfoStore) |
Set the zone info store at runtime. More... | |
bool | initForEpochSeconds (acetime_t epochSeconds) const |
Initialize using the epochSeconds. More... | |
bool | initForYear (int16_t year) const |
Initialize the zone rules cache, keyed by the "current" year. More... | |
![]() | |
uint8_t | getType () const |
Return the kTypeXxx of the current instance. | |
Static Public Attributes | |
static const uint8_t | kTypeComplete = 5 |
Unique TimeZone type identifier for CompleteZoneProcessor. | |
![]() | |
static const uint8_t | kMaxTransitions |
Max number of Transitions required for all Zones supported by this class. More... | |
Additional Inherited Members | |
![]() | |
typedef extended::TransitionTemplate< complete::Info > | Transition |
Exposed only for testing purposes. | |
typedef extended::TransitionForSecondsTemplate< complete::Info > | TransitionForSeconds |
Exposed only for testing purposes. | |
typedef extended::TransitionForDateTimeTemplate< complete::Info > | TransitionForDateTime |
Exposed only for testing purposes. | |
typedef extended::MatchingEraTemplate< complete::Info > | MatchingEra |
Exposed only for testing purposes. | |
typedef extended::TransitionStorageTemplate< kMaxTransitions, complete::Info > | TransitionStorage |
Exposed only for testing purposes. | |
![]() | |
ExtendedZoneProcessorTemplate (uint8_t type, const typename D::ZoneInfoStore *zoneInfoStore, uintptr_t zoneKey) | |
Constructor. More... | |
![]() | |
ZoneProcessor (const ZoneProcessor &)=delete | |
ZoneProcessor & | operator= (const ZoneProcessor &)=delete |
ZoneProcessor (uint8_t type) | |
Constructor. | |
bool | isFilled (int16_t year) const |
Check if the Transition cache is filled for the given year and current epochYear. More... | |
![]() | |
uint8_t const | mType |
User-visible indicator of the subclass of ZoneProcessor, which implments a specific time-zone algorithm. More... | |
int16_t | mYear = LocalDate::kInvalidYear |
Year that was used to calculate the transitions in the current cache. More... | |
int16_t | mEpochYear = LocalDate::kInvalidYear |
Epoch year that was used to calculate the transitions in the current cache. More... | |
A specific implementation of ExtendedZoneProcessorTemplate that uses the complete::ZoneXxxBrokers classes which read from 'zonedbc' files in PROGMEM flash memory using the high-resolution zoneinfo data structures.
Definition at line 19 of file CompleteZoneProcessor.h.