12dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com// Copyright (C) 2012 The Libphonenumber Authors
22dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com//
32dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com// Licensed under the Apache License, Version 2.0 (the "License");
42dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com// you may not use this file except in compliance with the License.
52dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com// You may obtain a copy of the License at
62dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com//
72dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com// http://www.apache.org/licenses/LICENSE-2.0
82dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com//
92dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com// Unless required by applicable law or agreed to in writing, software
102dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com// distributed under the License is distributed on an "AS IS" BASIS,
112dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
122dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com// See the License for the specific language governing permissions and
132dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com// limitations under the License.
142dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com//
152dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com// Author: Patrick Mezard
162dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com
172dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com#include "phonenumbers/geocoding/default_map_storage.h"
182dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com
19af4a2ce290b619b39c2cb2a682ea4d7746d3fb21philip.liard@gmail.com#include "phonenumbers/base/basictypes.h"
20af4a2ce290b619b39c2cb2a682ea4d7746d3fb21philip.liard@gmail.com#include "phonenumbers/base/logging.h"
21b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.peng#include "phonenumbers/geocoding/geocoding_data.h"
222dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com
232dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.comnamespace i18n {
242dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.comnamespace phonenumbers {
252dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com
262dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.comDefaultMapStorage::DefaultMapStorage() {
272dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com}
282dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com
292dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.comDefaultMapStorage::~DefaultMapStorage() {
302dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com}
312dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com
32b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.pengint32 DefaultMapStorage::GetPrefix(int index) const {
332dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com  DCHECK_GE(index, 0);
34b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.peng  DCHECK_LT(index, prefixes_size_);
352dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com  return prefixes_[index];
362dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com}
372dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com
38b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.pengconst char* DefaultMapStorage::GetDescription(int index) const {
392dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com  DCHECK_GE(index, 0);
40b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.peng  DCHECK_LT(index, prefixes_size_);
412dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com  return descriptions_[index];
422dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com}
432dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com
44b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.pengvoid DefaultMapStorage::ReadFromMap(const PrefixDescriptions* descriptions) {
45b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.peng  prefixes_ = descriptions->prefixes;
46b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.peng  prefixes_size_ = descriptions->prefixes_size;
47b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.peng  descriptions_ = descriptions->descriptions;
48b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.peng  possible_lengths_ = descriptions->possible_lengths;
49b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.peng  possible_lengths_size_ = descriptions->possible_lengths_size;
502dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com}
512dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com
522dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.comint DefaultMapStorage::GetNumOfEntries() const {
53b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.peng  return prefixes_size_;
542dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com}
552dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com
56b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.pengconst int* DefaultMapStorage::GetPossibleLengths() const {
572dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com  return possible_lengths_;
582dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com}
592dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com
60b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.pengint DefaultMapStorage::GetPossibleLengthsSize() const {
61b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.peng  return possible_lengths_size_;
62b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.peng}
63b32eeb5f079c0b91bc073455657cfc3003df2608jia.shao.peng
642dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com}  // namespace phonenumbers
652dbe1d8526f8d057898bc02ed3185a84f82cbb9aphilip.liard@gmail.com}  // namespace i18n
66