AceTime
1.6
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
|
Common interface to the BasicZoneManager and ExtendedZoneManager so that a single interface can be passed around to various helper objects. More...
#include <ZoneManager.h>
Public Member Functions | |
virtual TimeZone | createForZoneName (const char *name)=0 |
Create a TimeZone for the given zone name (e.g. More... | |
virtual TimeZone | createForZoneId (uint32_t id)=0 |
Create a TimeZone for the given 32-bit zoneId. | |
virtual TimeZone | createForZoneIndex (uint16_t index)=0 |
Create a TimeZone for the given index in the ZoneInfo registry that was used to create this ZoneManager. | |
virtual TimeZone | createForTimeZoneData (const TimeZoneData &d)=0 |
Create a TimeZone from the TimeZoneData created by TimeZone::toTimeZoneData(). | |
virtual uint16_t | indexForZoneName (const char *name) const =0 |
Find the registry index for the given time zone name. More... | |
virtual uint16_t | indexForZoneId (uint32_t id) const =0 |
Find the registry index for the given time zone id. More... | |
virtual uint16_t | zoneRegistrySize () const =0 |
Return the number of elements in the Zone (and fat Link) registry. More... | |
virtual uint16_t | linkRegistrySize () const =0 |
Return the number of elements in the (thin) Link registry. | |
Static Public Attributes | |
static const uint16_t | kInvalidIndex = 0xffff |
Registry index which is not valid. More... | |
Common interface to the BasicZoneManager and ExtendedZoneManager so that a single interface can be passed around to various helper objects.
Various methods return a TimeZone object from one of its identifiers. The identifer can be a string (e.g. "America/Los_Angeles"), or a unique hashed zoneId, an index into the ZoneRegistry, or the TimeZoneData object created by TimeZone::toTimeZoneData().
Definition at line 25 of file ZoneManager.h.
|
pure virtual |
Create a TimeZone for the given zone name (e.g.
"America/Los_Angeles").
Implemented in ace_time::ZoneManagerImpl< ZI, ZRR, LE, LRR, ZP, ZPC >, ace_time::ZoneManagerImpl< basic::ZoneInfo, basic::ZoneRegistrar, basic::LinkEntry, basic::LinkRegistrar, BasicZoneProcessor, BasicZoneProcessorCache< SIZE > >, ace_time::ZoneManagerImpl< extended::ZoneInfo, extended::ZoneRegistrar, extended::LinkEntry, extended::LinkRegistrar, ExtendedZoneProcessor, ExtendedZoneProcessorCache< SIZE > >, and ace_time::ManualZoneManager.
|
pure virtual |
Find the registry index for the given time zone id.
Returns kInvalidIndex if not found.
Implemented in ace_time::ManualZoneManager, ace_time::ZoneManagerImpl< ZI, ZRR, LE, LRR, ZP, ZPC >, ace_time::ZoneManagerImpl< basic::ZoneInfo, basic::ZoneRegistrar, basic::LinkEntry, basic::LinkRegistrar, BasicZoneProcessor, BasicZoneProcessorCache< SIZE > >, and ace_time::ZoneManagerImpl< extended::ZoneInfo, extended::ZoneRegistrar, extended::LinkEntry, extended::LinkRegistrar, ExtendedZoneProcessor, ExtendedZoneProcessorCache< SIZE > >.
|
pure virtual |
Find the registry index for the given time zone name.
Returns kInvalidIndex if not found.
Implemented in ace_time::ZoneManagerImpl< ZI, ZRR, LE, LRR, ZP, ZPC >, ace_time::ZoneManagerImpl< basic::ZoneInfo, basic::ZoneRegistrar, basic::LinkEntry, basic::LinkRegistrar, BasicZoneProcessor, BasicZoneProcessorCache< SIZE > >, ace_time::ZoneManagerImpl< extended::ZoneInfo, extended::ZoneRegistrar, extended::LinkEntry, extended::LinkRegistrar, ExtendedZoneProcessor, ExtendedZoneProcessorCache< SIZE > >, and ace_time::ManualZoneManager.
|
pure virtual |
Return the number of elements in the Zone (and fat Link) registry.
Previously named registrySize().
Implemented in ace_time::ZoneManagerImpl< ZI, ZRR, LE, LRR, ZP, ZPC >, and ace_time::ManualZoneManager.
|
static |
Registry index which is not valid.
Indicates an error or not found.
Definition at line 28 of file ZoneManager.h.