chromium/third_party/icu/source/i18n/zonemeta.cpp

// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
*******************************************************************************
* Copyright (C) 2007-2014, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/

#include "unicode/utypes.h"

#if !UCONFIG_NO_FORMATTING

#include "zonemeta.h"

#include "unicode/timezone.h"
#include "unicode/ustring.h"
#include "unicode/putil.h"
#include "unicode/simpletz.h"
#include "unicode/strenum.h"
#include "umutex.h"
#include "uvector.h"
#include "cmemory.h"
#include "gregoimp.h"
#include "cstring.h"
#include "ucln_in.h"
#include "uassert.h"
#include "uresimp.h"
#include "uhash.h"
#include "olsontz.h"
#include "uinvchar.h"

static icu::UMutex gZoneMetaLock;

// CLDR Canonical ID mapping table
static UHashtable *gCanonicalIDCache =;
static icu::UInitOnce gCanonicalIDCacheInitOnce {};

// Metazone mapping table
static UHashtable *gOlsonToMeta =;
static icu::UInitOnce gOlsonToMetaInitOnce {};

// Available metazone IDs vector and table
static icu::UVector *gMetaZoneIDs =;
static UHashtable *gMetaZoneIDTable =;
static icu::UInitOnce gMetaZoneIDsInitOnce {};

// Country info vectors
static icu::UVector *gSingleZoneCountries =;
static icu::UVector *gMultiZonesCountries =;
static icu::UInitOnce gCountryInfoVectorsInitOnce {};

U_CDECL_BEGIN

/**
 * Cleanup callback func
 */
static UBool U_CALLCONV zoneMeta_cleanup()
{}

/**
 * Deleter for char16_t* string
 */
static void U_CALLCONV
deleteUCharString(void *obj) {}

/**
 * Deleter for OlsonToMetaMappingEntry
 */
static void U_CALLCONV
deleteOlsonToMetaMappingEntry(void *obj) {}

U_CDECL_END

U_NAMESPACE_BEGIN

#define ZID_KEY_MAX

static const char gMetaZones[]          =;
static const char gMetazoneInfo[]       =;
static const char gMapTimezonesTag[]    =;

static const char gKeyTypeData[]        =;
static const char gTypeAliasTag[]       =;
static const char gTypeMapTag[]         =;
static const char gTimezoneTag[]        =;
static const char gIanaMapTag[]         =;

static const char gPrimaryZonesTag[]    =;

static const char gWorldTag[]           =;

static const char16_t gWorld[] =; // "001"

static const char16_t gDefaultFrom[] =; // "1970-01-01 00:00"
static const char16_t gDefaultTo[]   =; // "9999-12-31 23:59"

static const char16_t gCustomTzPrefix[]    =;    // "GMT"

#define ASCII_DIGIT(c)

/*
 * Convert a date string used by metazone mappings to UDate.
 * The format used by CLDR metazone mapping is "yyyy-MM-dd HH:mm".
 */
static UDate
parseDate (const char16_t *text, UErrorCode &status) {}

static void U_CALLCONV initCanonicalIDCache(UErrorCode &status) {}


const char16_t* U_EXPORT2
ZoneMeta::getCanonicalCLDRID(const UnicodeString &tzid, UErrorCode& status) {}

UnicodeString& U_EXPORT2
ZoneMeta::getCanonicalCLDRID(const UnicodeString &tzid, UnicodeString &systemID, UErrorCode& status) {}

const char16_t* U_EXPORT2
ZoneMeta::getCanonicalCLDRID(const TimeZone& tz) {}

UnicodeString& U_EXPORT2
ZoneMeta::getIanaID(const UnicodeString& tzid, UnicodeString& ianaID, UErrorCode& status) {}

static void U_CALLCONV countryInfoVectorsInit(UErrorCode &status) {}


UnicodeString& U_EXPORT2
ZoneMeta::getCanonicalCountry(const UnicodeString &tzid, UnicodeString &country, UBool *isPrimary /* = nullptr */) {}

UnicodeString& U_EXPORT2
ZoneMeta::getMetazoneID(const UnicodeString &tzid, UDate date, UnicodeString &result) {}

static void U_CALLCONV olsonToMetaInit(UErrorCode &status) {}


const UVector* U_EXPORT2
ZoneMeta::getMetazoneMappings(const UnicodeString &tzid) {}

UVector*
ZoneMeta::createMetazoneMappings(const UnicodeString &tzid) {}

UnicodeString& U_EXPORT2
ZoneMeta::getZoneIdByMetazone(const UnicodeString &mzid, const UnicodeString &region, UnicodeString &result) {}

static void U_CALLCONV initAvailableMetaZoneIDs () {}

const UVector*
ZoneMeta::getAvailableMetazoneIDs() {}

const char16_t*
ZoneMeta::findMetaZoneID(const UnicodeString& mzid) {}

const char16_t*
ZoneMeta::findTimeZoneID(const UnicodeString& tzid) {}


TimeZone*
ZoneMeta::createCustomTimeZone(int32_t offset) {}

UnicodeString&
ZoneMeta::formatCustomID(uint8_t hour, uint8_t min, uint8_t sec, UBool negative, UnicodeString& id) {}

const char16_t*
ZoneMeta::getShortID(const TimeZone& tz) {}

const char16_t*
ZoneMeta::getShortID(const UnicodeString& id) {}

const char16_t*
ZoneMeta::getShortIDFromCanonical(const char16_t* canonicalID) {}

U_NAMESPACE_END

#endif /* #if !UCONFIG_NO_FORMATTING */