AceTime  3.0.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:
Inheritance graph
[legend]
Collaboration diagram for ace_time::CompleteZoneProcessor:
Collaboration graph
[legend]

Public Member Functions

 CompleteZoneProcessor (const complete::Info::ZoneInfo *zoneInfo=nullptr)
 
- Public Member Functions inherited from ace_time::ExtendedZoneProcessorTemplate< complete::Info >
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...
 
- 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::Info >
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::Info >
typedef extended::TransitionTemplate< complete::InfoTransition
 Exposed only for testing purposes.
 
typedef extended::TransitionForSecondsTemplate< complete::InfoTransitionForSeconds
 Exposed only for testing purposes.
 
typedef extended::TransitionForDateTimeTemplate< complete::InfoTransitionForDateTime
 Exposed only for testing purposes.
 
typedef extended::MatchingEraTemplate< complete::InfoMatchingEra
 Exposed only for testing purposes.
 
typedef extended::TransitionStorageTemplate< kMaxTransitions, complete::InfoTransitionStorage
 Exposed only for testing purposes.
 
- Protected Member Functions inherited from ace_time::ExtendedZoneProcessorTemplate< complete::Info >
 ExtendedZoneProcessorTemplate (uint8_t type, const typename D::ZoneInfoStore *zoneInfoStore, uintptr_t zoneKey)
 Constructor. More...
 
- Protected Member Functions inherited from ace_time::ZoneProcessor
 ZoneProcessor (const ZoneProcessor &)=delete
 
ZoneProcessoroperator= (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 19 of file CompleteZoneProcessor.h.


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