1cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// Copyright (C) 2013 Google Inc. 2cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// 3cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// Licensed under the Apache License, Version 2.0 (the "License"); 4cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// you may not use this file except in compliance with the License. 5cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// You may obtain a copy of the License at 6cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// 7cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// http://www.apache.org/licenses/LICENSE-2.0 8cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// 9cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// Unless required by applicable law or agreed to in writing, software 10cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// distributed under the License is distributed on an "AS IS" BASIS, 11cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// See the License for the specific language governing permissions and 13cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org// limitations under the License. 14cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org 15cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org#ifndef I18N_ADDRESSINPUT_REGION_DATA_CONSTANTS_H_ 16cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org#define I18N_ADDRESSINPUT_REGION_DATA_CONSTANTS_H_ 17cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org 186c42355ce8c105bbadf57deb999c777b5c49df59roubert@google.com#include <libaddressinput/util/basictypes.h> 196c42355ce8c105bbadf57deb999c777b5c49df59roubert@google.com 20e71e2ca6cddad1c126cd13ea7c5c3b9812f9f9ebroubert@google.com#include <cstddef> 21cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org#include <string> 22cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org#include <vector> 23cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org 24cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.orgnamespace i18n { 25cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.orgnamespace addressinput { 26cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org 27cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.orgclass RegionDataConstants { 28cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org public: 29e23ab5d6f7e894252ed786304d3509c1ea19c431roubert@google.com static const bool IsSupported(const std::string& region_code); 30cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org static const std::vector<std::string>& GetRegionCodes(); 31cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org static const std::string& GetRegionData(const std::string& region_code); 32cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org static const std::string& GetDefaultRegionData(); 33e71e2ca6cddad1c126cd13ea7c5c3b9812f9f9ebroubert@google.com static size_t GetMaxLookupKeyDepth(const std::string& region_code); 346c42355ce8c105bbadf57deb999c777b5c49df59roubert@google.com 356c42355ce8c105bbadf57deb999c777b5c49df59roubert@google.com private: 366c42355ce8c105bbadf57deb999c777b5c49df59roubert@google.com DISALLOW_COPY_AND_ASSIGN(RegionDataConstants); 37cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org}; 38cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org 39cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org} // namespace addressinput 40cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org} // namespace i18n 41cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org 42cd70c57799db816689ad1871c4a78c2fe895153crouslan@chromium.org#endif // I18N_ADDRESSINPUT_REGION_DATA_CONSTANTS_H_ 43