AceTime  1.11.7
Date and time classes for Arduino that support timezones from the TZ Database.
BasicBrokers.cpp
1 /*
2  * MIT License
3  * Copyright (c) 2021 Brian T. Park
4  */
5 
6 #include <Arduino.h>
7 #include <AceCommon.h> // KString
8 #include "BrokerCommon.h" // findShortName()
9 #include "BasicBrokers.h"
10 
11 using ace_common::KString;
12 using ace_common::printReplaceCharTo;
13 using ace_time::internal::findShortName;
15 
16 namespace ace_time {
17 namespace basic {
18 
19 void ZoneInfoBroker::printNameTo(Print& printer) const {
20  const ZoneContext* zc = zoneContext();
21  KString kname(name(), zc->fragments, zc->numFragments);
22  kname.printTo(printer);
23 }
24 
25 void ZoneInfoBroker::printShortNameTo(Print& printer) const {
26  printReplaceCharTo(printer, findShortName(name()), '_', ' ');
27 }
28 
29 } // basic
30 } // ace_time
The classes provide a thin layer of indirection for accessing the zoneinfo files stored in the zonedb...
Helper functions are used in both Basic brokers and Extended brokers.
void printShortNameTo(Print &printer) const
Print a short human-readable identifier (e.g.
void printNameTo(Print &printer) const
Print a human-readable identifier (e.g.
Metadata about the zone database.
Definition: ZoneContext.h:16
uint8_t numFragments
Number of fragments.
Definition: ZoneContext.h:44
const char *const * fragments
Zone Name fragment list.
Definition: ZoneContext.h:47