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