AceTime  2.1.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::ExtendedZoneProcessor Class Reference

A specific implementation of ExtendedZoneProcessorTemplate that uses ZoneXxxBrokers which read from zonedb files in PROGMEM flash memory. More...

#include <ExtendedZoneProcessor.h>

Inheritance diagram for ace_time::ExtendedZoneProcessor:
Inheritance graph
[legend]
Collaboration diagram for ace_time::ExtendedZoneProcessor:
Collaboration graph
[legend]

Public Member Functions

 ExtendedZoneProcessor (const extended::ZoneInfo *zoneInfo=nullptr)
 
- Public Member Functions inherited from ace_time::ExtendedZoneProcessorTemplate< extended::BrokerFactory, extended::ZoneInfoBroker, extended::ZoneEraBroker, extended::ZonePolicyBroker, extended::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 setBrokerFactory (const extended::BrokerFactory *brokerFactory)
 Set the broker factory 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.
 
void resetTransitionCache ()
 Reset the internal transition cache. More...
 

Static Public Attributes

static const uint8_t kTypeExtended = 4
 Unique TimeZone type identifier for ExtendedZoneProcessor.
 
- Static Public Attributes inherited from ace_time::ExtendedZoneProcessorTemplate< extended::BrokerFactory, extended::ZoneInfoBroker, extended::ZoneEraBroker, extended::ZonePolicyBroker, extended::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< extended::BrokerFactory, extended::ZoneInfoBroker, extended::ZoneEraBroker, extended::ZonePolicyBroker, extended::ZoneRuleBroker >
typedef extended::TransitionTemplate< extended::ZoneEraBroker, extended::ZonePolicyBroker, extended::ZoneRuleBrokerTransition
 Exposed only for testing purposes.
 
typedef extended::TransitionForSecondsTemplate< extended::ZoneEraBroker, extended::ZonePolicyBroker, extended::ZoneRuleBrokerTransitionForSeconds
 Exposed only for testing purposes.
 
typedef extended::TransitionForDateTimeTemplate< extended::ZoneEraBroker, extended::ZonePolicyBroker, extended::ZoneRuleBrokerTransitionForDateTime
 Exposed only for testing purposes.
 
typedef extended::MatchingEraTemplate< extended::ZoneEraBrokerMatchingEra
 Exposed only for testing purposes.
 
typedef extended::TransitionStorageTemplate< kMaxTransitions, extended::ZoneEraBroker, extended::ZonePolicyBroker, extended::ZoneRuleBrokerTransitionStorage
 Exposed only for testing purposes.
 
- Protected Member Functions inherited from ace_time::ExtendedZoneProcessorTemplate< extended::BrokerFactory, extended::ZoneInfoBroker, extended::ZoneEraBroker, extended::ZonePolicyBroker, extended::ZoneRuleBroker >
 ExtendedZoneProcessorTemplate (uint8_t type, const extended::BrokerFactory *brokerFactory, 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.
 
- Protected Attributes inherited from ace_time::ZoneProcessor
uint8_t const mType
 
bool mIsFilled = false
 
int16_t mYear = LocalDate::kInvalidYear
 

Detailed Description

A specific implementation of ExtendedZoneProcessorTemplate that uses ZoneXxxBrokers which read from zonedb files in PROGMEM flash memory.

Definition at line 1272 of file ExtendedZoneProcessor.h.


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