Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(611)

Side by Side Diff: third_party/libaddressinput/chromium/chrome_address_validator.h

Issue 1911823002: Convert //third_party from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update crashpad's README.chromium Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef THIRD_PARTY_LIBADDRESSINPUT_CHROMIUM_CHROME_ADDRESS_VALIDATOR_H_ 5 #ifndef THIRD_PARTY_LIBADDRESSINPUT_CHROMIUM_CHROME_ADDRESS_VALIDATOR_H_
6 #define THIRD_PARTY_LIBADDRESSINPUT_CHROMIUM_CHROME_ADDRESS_VALIDATOR_H_ 6 #define THIRD_PARTY_LIBADDRESSINPUT_CHROMIUM_CHROME_ADDRESS_VALIDATOR_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <map> 10 #include <map>
11 #include <memory>
11 #include <string> 12 #include <string>
12 #include <vector> 13 #include <vector>
13 14
14 #include "base/macros.h" 15 #include "base/macros.h"
15 #include "base/memory/scoped_ptr.h"
16 #include "base/memory/weak_ptr.h" 16 #include "base/memory/weak_ptr.h"
17 #include "base/time/time.h" 17 #include "base/time/time.h"
18 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_fi eld.h" 18 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_fi eld.h"
19 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_va lidator.h" 19 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_va lidator.h"
20 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/callback.h " 20 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/callback.h "
21 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/preload_su pplier.h" 21 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/preload_su pplier.h"
22 22
23 namespace i18n { 23 namespace i18n {
24 namespace addressinput { 24 namespace addressinput {
25 class AddressNormalizer; 25 class AddressNormalizer;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 69
70 // The validation rules are not available, because LoadRules() was not 70 // The validation rules are not available, because LoadRules() was not
71 // called or failed. Reload the rules. 71 // called or failed. Reload the rules.
72 RULES_UNAVAILABLE, 72 RULES_UNAVAILABLE,
73 73
74 // The validation rules are being loaded. Try again later. 74 // The validation rules are being loaded. Try again later.
75 RULES_NOT_READY 75 RULES_NOT_READY
76 }; 76 };
77 77
78 // Takes ownership of |source| and |storage|. 78 // Takes ownership of |source| and |storage|.
79 AddressValidator(scoped_ptr< ::i18n::addressinput::Source> source, 79 AddressValidator(std::unique_ptr<::i18n::addressinput::Source> source,
80 scoped_ptr< ::i18n::addressinput::Storage> storage, 80 std::unique_ptr<::i18n::addressinput::Storage> storage,
81 LoadRulesListener* load_rules_listener); 81 LoadRulesListener* load_rules_listener);
82 82
83 virtual ~AddressValidator(); 83 virtual ~AddressValidator();
84 84
85 // Loads the generic validation rules for |region_code| and specific rules 85 // Loads the generic validation rules for |region_code| and specific rules
86 // for the region's administrative areas, localities, and dependent 86 // for the region's administrative areas, localities, and dependent
87 // localities. A typical data size is 10KB. The largest is 250KB. If a region 87 // localities. A typical data size is 10KB. The largest is 250KB. If a region
88 // has language-specific validation rules, then these are also loaded. 88 // has language-specific validation rules, then these are also loaded.
89 // 89 //
90 // Example rule: 90 // Example rule:
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 const ::i18n::addressinput::FieldProblemMap&); 156 const ::i18n::addressinput::FieldProblemMap&);
157 157
158 // Invokes the |load_rules_listener_|, if it's not NULL. Called by 158 // Invokes the |load_rules_listener_|, if it's not NULL. Called by
159 // |rules_loaded_| callback. 159 // |rules_loaded_| callback.
160 void RulesLoaded(bool success, const std::string& region_code, int); 160 void RulesLoaded(bool success, const std::string& region_code, int);
161 161
162 // Retries loading rules without resetting the retry counter. 162 // Retries loading rules without resetting the retry counter.
163 void RetryLoadRules(const std::string& region_code); 163 void RetryLoadRules(const std::string& region_code);
164 164
165 // Loads and stores aggregate rules at COUNTRY level. 165 // Loads and stores aggregate rules at COUNTRY level.
166 const scoped_ptr< ::i18n::addressinput::PreloadSupplier> supplier_; 166 const std::unique_ptr<::i18n::addressinput::PreloadSupplier> supplier_;
167 167
168 // Suggests addresses based on user input. 168 // Suggests addresses based on user input.
169 const scoped_ptr<InputSuggester> input_suggester_; 169 const std::unique_ptr<InputSuggester> input_suggester_;
170 170
171 // Normalizes addresses into a canonical form. 171 // Normalizes addresses into a canonical form.
172 const scoped_ptr< ::i18n::addressinput::AddressNormalizer> normalizer_; 172 const std::unique_ptr<::i18n::addressinput::AddressNormalizer> normalizer_;
173 173
174 // Validates addresses. 174 // Validates addresses.
175 const scoped_ptr<const ::i18n::addressinput::AddressValidator> validator_; 175 const std::unique_ptr<const ::i18n::addressinput::AddressValidator>
176 validator_;
176 177
177 // The callback that |validator_| invokes when it finished validating an 178 // The callback that |validator_| invokes when it finished validating an
178 // address. 179 // address.
179 const scoped_ptr<const ::i18n::addressinput::AddressValidator::Callback> 180 const std::unique_ptr<const ::i18n::addressinput::AddressValidator::Callback>
180 validated_; 181 validated_;
181 182
182 // The callback that |supplier_| invokes when it finished loading rules. 183 // The callback that |supplier_| invokes when it finished loading rules.
183 const scoped_ptr<const ::i18n::addressinput::PreloadSupplier::Callback> 184 const std::unique_ptr<const ::i18n::addressinput::PreloadSupplier::Callback>
184 rules_loaded_; 185 rules_loaded_;
185 186
186 // Not owned delegate to invoke when |suppler_| finished loading rules. Can be 187 // Not owned delegate to invoke when |suppler_| finished loading rules. Can be
187 // NULL. 188 // NULL.
188 LoadRulesListener* const load_rules_listener_; 189 LoadRulesListener* const load_rules_listener_;
189 190
190 // A mapping of region codes to the number of attempts to retry loading rules. 191 // A mapping of region codes to the number of attempts to retry loading rules.
191 std::map<std::string, int> attempts_number_; 192 std::map<std::string, int> attempts_number_;
192 193
193 // Member variables should appear before the WeakPtrFactory, to ensure that 194 // Member variables should appear before the WeakPtrFactory, to ensure that
194 // any WeakPtrs to AddressValidator are invalidated before its members 195 // any WeakPtrs to AddressValidator are invalidated before its members
195 // variable's destructors are executed, rendering them invalid. 196 // variable's destructors are executed, rendering them invalid.
196 base::WeakPtrFactory<AddressValidator> weak_factory_; 197 base::WeakPtrFactory<AddressValidator> weak_factory_;
197 198
198 DISALLOW_COPY_AND_ASSIGN(AddressValidator); 199 DISALLOW_COPY_AND_ASSIGN(AddressValidator);
199 }; 200 };
200 201
201 } // namespace autofill 202 } // namespace autofill
202 203
203 #endif // THIRD_PARTY_LIBADDRESSINPUT_CHROMIUM_CHROME_ADDRESS_VALIDATOR_H_ 204 #endif // THIRD_PARTY_LIBADDRESSINPUT_CHROMIUM_CHROME_ADDRESS_VALIDATOR_H_
OLDNEW
« no previous file with comments | « third_party/leveldatabase/env_chromium.cc ('k') | third_party/libaddressinput/chromium/chrome_address_validator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698