11767c5feSopenharmony_ci// Copyright (C) 2012 The Libphonenumber Authors
21767c5feSopenharmony_ci//
31767c5feSopenharmony_ci// Licensed under the Apache License, Version 2.0 (the "License");
41767c5feSopenharmony_ci// you may not use this file except in compliance with the License.
51767c5feSopenharmony_ci// You may obtain a copy of the License at
61767c5feSopenharmony_ci//
71767c5feSopenharmony_ci// http://www.apache.org/licenses/LICENSE-2.0
81767c5feSopenharmony_ci//
91767c5feSopenharmony_ci// Unless required by applicable law or agreed to in writing, software
101767c5feSopenharmony_ci// distributed under the License is distributed on an "AS IS" BASIS,
111767c5feSopenharmony_ci// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
121767c5feSopenharmony_ci// See the License for the specific language governing permissions and
131767c5feSopenharmony_ci// limitations under the License.
141767c5feSopenharmony_ci//
151767c5feSopenharmony_ci// This file is generated automatically, do not edit it manually.
161767c5feSopenharmony_ci
171767c5feSopenharmony_ci#ifndef I18N_PHONENUMBERS_GEOCODING_DATA
181767c5feSopenharmony_ci#define I18N_PHONENUMBERS_GEOCODING_DATA
191767c5feSopenharmony_ci
201767c5feSopenharmony_ci#include <cstdint>
211767c5feSopenharmony_ci
221767c5feSopenharmony_cinamespace i18n {
231767c5feSopenharmony_cinamespace phonenumbers {
241767c5feSopenharmony_ci
251767c5feSopenharmony_cistruct CountryLanguages {
261767c5feSopenharmony_ci  // Sorted array of language codes.
271767c5feSopenharmony_ci  const char** available_languages;
281767c5feSopenharmony_ci
291767c5feSopenharmony_ci  // Number of elements in available_languages.
301767c5feSopenharmony_ci  const int available_languages_size;
311767c5feSopenharmony_ci};
321767c5feSopenharmony_ci
331767c5feSopenharmony_cistruct PrefixDescriptions {
341767c5feSopenharmony_ci  // Sorted array of phone number prefixes.
351767c5feSopenharmony_ci  const int32_t* prefixes;
361767c5feSopenharmony_ci
371767c5feSopenharmony_ci  // Number of elements in prefixes.
381767c5feSopenharmony_ci  const int prefixes_size;
391767c5feSopenharmony_ci
401767c5feSopenharmony_ci  // Array of phone number prefix descriptions, mapped one to one
411767c5feSopenharmony_ci  // to prefixes.
421767c5feSopenharmony_ci  const char** descriptions;
431767c5feSopenharmony_ci
441767c5feSopenharmony_ci  // Sorted array of unique prefix lengths in base 10.
451767c5feSopenharmony_ci  const int32_t* possible_lengths;
461767c5feSopenharmony_ci
471767c5feSopenharmony_ci  // Number of elements in possible_lengths.
481767c5feSopenharmony_ci  const int possible_lengths_size;
491767c5feSopenharmony_ci};
501767c5feSopenharmony_ci
511767c5feSopenharmony_ci// Returns a sorted array of country calling codes.
521767c5feSopenharmony_ciconst int* get_country_calling_codes();
531767c5feSopenharmony_ci
541767c5feSopenharmony_ci// Returns the number of country calling codes in
551767c5feSopenharmony_ci// get_country_calling_codes() array.
561767c5feSopenharmony_ciint get_country_calling_codes_size();
571767c5feSopenharmony_ci
581767c5feSopenharmony_ci// Returns the CountryLanguages record for country at index, index
591767c5feSopenharmony_ci// being in [0, get_country_calling_codes_size()).
601767c5feSopenharmony_ciconst CountryLanguages* get_country_languages(int index);
611767c5feSopenharmony_ci
621767c5feSopenharmony_ci// Returns a sorted array of prefix language code pairs like
631767c5feSopenharmony_ci// "1_de" or "82_ko".
641767c5feSopenharmony_ciconst char** get_prefix_language_code_pairs();
651767c5feSopenharmony_ci
661767c5feSopenharmony_ci// Returns the number of elements in
671767c5feSopenharmony_ci// get_prefix_language_code_pairs()
681767c5feSopenharmony_ciint get_prefix_language_code_pairs_size();
691767c5feSopenharmony_ci
701767c5feSopenharmony_ci// Returns the PrefixDescriptions for language/code pair at index,
711767c5feSopenharmony_ci// index being in [0, get_prefix_language_code_pairs_size()).
721767c5feSopenharmony_ciconst PrefixDescriptions* get_prefix_descriptions(int index);
731767c5feSopenharmony_ci
741767c5feSopenharmony_ci}  // namespace phonenumbers
751767c5feSopenharmony_ci}  // namespace i18n
761767c5feSopenharmony_ci
771767c5feSopenharmony_ci#endif  // I18N_PHONENUMBERS_GEOCODING_DATA
78