AceTime  3.0.0
Date and time classes for Arduino that support timezones from the TZ Database.
Classes
ZoneInfoLow.h File Reference

Data structures describe the low resolution zoneinfo persistence format. More...

#include <stdint.h>
#include <Arduino.h>
#include <AceCommon.h>
#include "compat.h"
#include "BrokerCommon.h"
Include dependency graph for ZoneInfoLow.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ace_time::ZoneInfoLow
 
struct  ace_time::ZoneInfoLow::ZoneContext
 Metadata about the zone database. More...
 
struct  ace_time::ZoneInfoLow::ZoneRule
 A time zone transition rule. More...
 
struct  ace_time::ZoneInfoLow::ZonePolicy
 A collection of transition rules which describe the DST rules of a given administrative region. More...
 
struct  ace_time::ZoneInfoLow::ZoneEra
 An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period. More...
 
struct  ace_time::ZoneInfoLow::ZoneInfo
 Representation of a given time zone, implemented as an array of ZoneEra records. More...
 
class  ace_time::ZoneInfoLow::ZoneContextBroker
 Data broker for accessing a ZoneContext. More...
 
class  ace_time::ZoneInfoLow::ZoneRuleBroker
 Data broker for accessing ZoneRule. More...
 
class  ace_time::ZoneInfoLow::ZonePolicyBroker
 Data broker for accessing ZonePolicy. More...
 
class  ace_time::ZoneInfoLow::ZoneEraBroker
 Data broker for accessing ZoneEra. More...
 
class  ace_time::ZoneInfoLow::ZoneInfoBroker
 Data broker for accessing ZoneInfo. More...
 
class  ace_time::ZoneInfoLow::ZoneRegistryBroker
 Data broker for accessing the ZoneRegistry. More...
 
class  ace_time::ZoneInfoLow::ZoneInfoStore
 A storage object that creates an ZoneInfoBroker from a key that identifies the ZoneInfo. More...
 

Detailed Description

Data structures describe the low resolution zoneinfo persistence format.

It has a 1-minute resolution for AT, UNTIL, STDOFF; 15-minute resolution for DST offsets. The year fields use a 1-byte offset from a baseYear which gives a [-127,+126] range.

The BrokersLow.h file provides an abtraction layer which converts these low-level fields into a semantically consistent API which can be used by the AceTime classes.

The various zoneinfo database files (e.g. zonedb, zonedbx, zonedbc) will use one of these persistence formats, as defined by infos.h.

See also DEVELOPER.md for an overview of the ZoneInfoXXX layer.

Definition in file ZoneInfoLow.h.