BloombergLP::baltzo::Loader

This class provides a protocol (a pure abstract interface) for loading a time zone object.

Synopsis

Declared in <baltzo_loader.h>

class Loader;

Member Functions

NameDescription
~Loader [destructor] [virtual]Destroy this object.
loadTimeZone [virtual]Load into the specified result the time zone information for the time zone identified by the specified timeZoneId. Return 0 on success, and a non-zero value otherwise. A return status of ErrorCode::k_UNSUPPORTED_ID indicates that timeZoneId is not recognized. If an error occurs during this operation, result will be left in a valid, but otherwise unspecified state. On return, result will be well-formed (see ZoneinfoUtil::isWellFormed) and result->identifier() will be timeZoneId (concrete implementations not meeting those constraints will not be usable by other other components in this package -- e.g., baltzo_zoneinfocache).

Derived Classes

NameDescription
DataFileLoader This component provides a concrete implementation of the DataLoader protocol for loading, into a Zoneinfo, the properties of a time zone defined by an Zoneinfo (TZ Database) binary file located on the file system.
TestLoader This class provides a concrete test implementation of the Loader protocol (an abstract interface) for obtaining a time zone. This test implementation maintains a mapping of time-zone identifiers to Zoneinfo objects. Time zone information objects are associated with a time-zone identifier using the setTimeZone method, and can be subsequently accessed by calling the protocol method loadTimeZone with the same identifier.