AceTime
3.0.0
Date and time classes for Arduino that support timezones from the TZ Database.
|
Data structures that describe the mid resolution zoneinfo persistence format. More...
#include <stdint.h>
#include <Arduino.h>
#include <AceCommon.h>
#include "compat.h"
#include "BrokerCommon.h"
Go to the source code of this file.
Classes | |
class | ace_time::ZoneInfoMid |
Wrapper class so that the entire collection can be referenced as a singel template parameter. More... | |
struct | ace_time::ZoneInfoMid::ZoneContext |
Metadata about the zone database. More... | |
struct | ace_time::ZoneInfoMid::ZoneRule |
A time zone transition rule. More... | |
struct | ace_time::ZoneInfoMid::ZonePolicy |
A collection of transition rules which describe the DST rules of a given administrative region. More... | |
struct | ace_time::ZoneInfoMid::ZoneEra |
An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period. More... | |
struct | ace_time::ZoneInfoMid::ZoneInfo |
Representation of a given time zone, implemented as an array of ZoneEra records. More... | |
class | ace_time::ZoneInfoMid::ZoneContextBroker |
Data broker for accessing a ZoneContext. More... | |
class | ace_time::ZoneInfoMid::ZoneRuleBroker |
Data broker for accessing ZoneRule. More... | |
class | ace_time::ZoneInfoMid::ZonePolicyBroker |
Data broker for accessing ZonePolicy. More... | |
class | ace_time::ZoneInfoMid::ZoneEraBroker |
Data broker for accessing ZoneEra. More... | |
class | ace_time::ZoneInfoMid::ZoneInfoBroker |
Data broker for accessing ZoneInfo. More... | |
class | ace_time::ZoneInfoMid::ZoneRegistryBroker |
Data broker for accessing the ZoneRegistry. More... | |
class | ace_time::ZoneInfoMid::ZoneInfoStore |
A storage object that creates an ZoneInfoBroker from a key that identifies the ZoneInfo. More... | |
Data structures that describe the mid resolution zoneinfo persistence format.
by the AceTimeTools compiler. It has a 1-minute resolution for AT, UNTIL, STDOFF; a 15-minute resolution for DST offset (similar to ZoneInfoLow). But it also uses 2-byte year fields supporting year range of [-32767,32765]
(similar to ZoneInfoHigh).
The BrokersMid.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. (The ZoneInfoMid.h persistence format was used at some point during the development, but it is current not used by any of the zone*db database files.)
See also DEVELOPER.md for an overview of the ZoneInfoXXX layer.
Definition in file ZoneInfoMid.h.