address.h revision eb525c5499e34cc9c4b825d6d9e75bb07cc06ace
1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_ADDRESS_H_ 6#define COMPONENTS_AUTOFILL_CORE_BROWSER_ADDRESS_H_ 7 8#include <string> 9#include <vector> 10 11#include "base/compiler_specific.h" 12#include "base/strings/string16.h" 13#include "components/autofill/core/browser/autofill_type.h" 14#include "components/autofill/core/browser/field_types.h" 15#include "components/autofill/core/browser/form_group.h" 16 17namespace autofill { 18 19// A form group that stores address information. 20class Address : public FormGroup { 21 public: 22 Address(); 23 Address(const Address& address); 24 virtual ~Address(); 25 26 Address& operator=(const Address& address); 27 28 // FormGroup: 29 virtual base::string16 GetRawInfo(AutofillFieldType type) const OVERRIDE; 30 virtual void SetRawInfo(AutofillFieldType type, 31 const base::string16& value) OVERRIDE; 32 virtual base::string16 GetInfo(AutofillFieldType type, 33 const std::string& app_locale) const OVERRIDE; 34 virtual bool SetInfo(AutofillFieldType type, 35 const base::string16& value, 36 const std::string& app_locale) OVERRIDE; 37 virtual void GetMatchingTypes(const base::string16& text, 38 const std::string& app_locale, 39 FieldTypeSet* matching_types) const OVERRIDE; 40 41 private: 42 // FormGroup: 43 virtual void GetSupportedTypes(FieldTypeSet* supported_types) const OVERRIDE; 44 45 // The address. 46 base::string16 line1_; 47 base::string16 line2_; 48 base::string16 city_; 49 base::string16 state_; 50 base::string16 country_code_; 51 base::string16 zip_code_; 52}; 53 54} // namespace autofill 55 56#endif // COMPONENTS_AUTOFILL_CORE_BROWSER_ADDRESS_H_ 57