Chromium Code Reviews| Index: chrome/browser/autofill/phone_number_i18n.h |
| =================================================================== |
| --- chrome/browser/autofill/phone_number_i18n.h (revision 88362) |
| +++ chrome/browser/autofill/phone_number_i18n.h (working copy) |
| @@ -10,10 +10,16 @@ |
| #include <vector> |
| #include "base/compiler_specific.h" |
| +#include "base/memory/scoped_ptr.h" |
| #include "base/string16.h" |
| +namespace i18n { |
| + namespace phonenumbers { |
|
dhollowa
2011/06/10 15:13:27
nit: namespaces don't indent when nested.
GeorgeY
2011/06/10 22:36:35
Done.
|
| + class PhoneNumber; |
| + } |
| +} |
| + |
| // Utilities to process, normalize and compare international phone numbers. |
| - |
| namespace autofill_i18n { |
| // Most of the following functions require |locale| to operate. The |locale| is |
| @@ -88,6 +94,38 @@ |
| const string16& number_b, |
| const std::string& country_code); |
| +// The cached phone number, does parsing only once, improves performance. |
| +class PhoneObject { |
| + public: |
| + PhoneObject(const string16& number, const std::string& locale); |
| + PhoneObject(const PhoneObject&); |
| + PhoneObject(); |
| + ~PhoneObject(); |
| + |
| + string16 GetCountryCode() const; |
| + string16 GetCityCode() const; |
| + string16 GetNumber() const; |
| + std::string GetLocale() const { return locale_; } |
| + |
| + string16 GetWholeNumber() const; |
| + |
| + PhoneMatch ComparePhones(const string16& phone) const; |
| + PhoneMatch ComparePhones(const PhoneObject& phone) const; |
| + |
| + PhoneObject& operator=(const PhoneObject& other); |
| + |
| + bool ValidNumber() const { return i18n_number_ != NULL; } |
| + private: |
|
Ilya Sherman
2011/06/10 07:17:33
nit: Please leave a blank line above "private:"
GeorgeY
2011/06/10 22:36:35
Done.
|
| + void Clear(); |
| + |
| + string16 city_code_; |
| + string16 country_code_; |
| + string16 number_; |
| + mutable string16 whole_number_; // Set on first request. |
| + std::string locale_; |
| + i18n::phonenumbers::PhoneNumber* i18n_number_; |
| +}; |
| + |
| } // namespace autofill_i18n |
| #endif // CHROME_BROWSER_AUTOFILL_PHONE_NUMBER_I18N_H_ |