AceTime 2.4.0 Date and time classes for Arduino that support timezones from the TZ Database.

Public Member Functions | Static Public Attributes | List of all members
ace_time::CompleteZoneProcessor Class Reference

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>`

Inheritance diagram for ace_time::CompleteZoneProcessor:
[legend]
Collaboration diagram for ace_time::CompleteZoneProcessor:
[legend]

## Public Member Functions
| CompleteZoneProcessor (const complete::ZoneInfo *zoneInfo=nullptr)
Public Member Functions inherited from ace_time::ExtendedZoneProcessorTemplate< complete::ZoneInfoStore, complete::ZoneInfoBroker, complete::ZoneEraBroker, complete::ZonePolicyBroker, complete::ZoneRuleBroker >
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 complete::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...
Public Member Functions inherited from ace_time::ZoneProcessor
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 Public Attributes inherited from ace_time::ExtendedZoneProcessorTemplate< complete::ZoneInfoStore, complete::ZoneInfoBroker, complete::ZoneEraBroker, complete::ZonePolicyBroker, complete::ZoneRuleBroker >
static const uint8_t | kMaxTransitions
| Max number of Transitions required for all Zones supported by this class. More...

## Additional Inherited Members
Public Types inherited from ace_time::ExtendedZoneProcessorTemplate< complete::ZoneInfoStore, complete::ZoneInfoBroker, complete::ZoneEraBroker, complete::ZonePolicyBroker, complete::ZoneRuleBroker >
typedef extended::TransitionTemplate< complete::ZoneEraBroker, complete::ZonePolicyBroker, complete::ZoneRuleBroker > | Transition
| Exposed only for testing purposes.
typedef extended::TransitionForSecondsTemplate< complete::ZoneEraBroker, complete::ZonePolicyBroker, complete::ZoneRuleBroker > | TransitionForSeconds
| Exposed only for testing purposes.
typedef extended::TransitionForDateTimeTemplate< complete::ZoneEraBroker, complete::ZonePolicyBroker, complete::ZoneRuleBroker > | TransitionForDateTime
| Exposed only for testing purposes.
typedef extended::MatchingEraTemplate< complete::ZoneEraBroker > | MatchingEra
| Exposed only for testing purposes.
typedef extended::TransitionStorageTemplate< kMaxTransitions, complete::ZoneEraBroker, complete::ZonePolicyBroker, complete::ZoneRuleBroker > | TransitionStorage
| Exposed only for testing purposes.
Protected Member Functions inherited from ace_time::ExtendedZoneProcessorTemplate< complete::ZoneInfoStore, complete::ZoneInfoBroker, complete::ZoneEraBroker, complete::ZonePolicyBroker, complete::ZoneRuleBroker >
| ExtendedZoneProcessorTemplate (uint8_t type, const complete::ZoneInfoStore *zoneInfoStore, uintptr_t zoneKey)
| Constructor. More...
Protected Member Functions inherited from ace_time::ZoneProcessor
| 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...
Protected Attributes inherited from ace_time::ZoneProcessor
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...

## Detailed Description

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 20 of file CompleteZoneProcessor.h.

The documentation for this class was generated from the following file:

- /home/brian/src/AceTime/src/ace_time/CompleteZoneProcessor.h