blob: 48dd8a873281c608deb2cac29d66483383a7df73 [file] [log] [blame]
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_AUTOFILL_ADDRESS_H_
#define CHROME_BROWSER_AUTOFILL_ADDRESS_H_
#include <string>
#include <vector>
#include "base/string16.h"
#include "chrome/browser/autofill/autofill_type.h"
#include "chrome/browser/autofill/field_types.h"
#include "chrome/browser/autofill/form_group.h"
// A form group that stores address information.
class Address : public FormGroup {
public:
Address();
Address(const Address& address);
virtual ~Address();
Address& operator=(const Address& address);
// FormGroup:
virtual string16 GetInfo(AutofillFieldType type) const OVERRIDE;
virtual void SetInfo(AutofillFieldType type, const string16& value) OVERRIDE;
virtual void GetMatchingTypes(const string16& text,
FieldTypeSet* matching_types) const OVERRIDE;
const std::string& country_code() const { return country_code_; }
void set_country_code(const std::string& country_code) {
country_code_ = country_code;
}
private:
// FormGroup:
virtual void GetSupportedTypes(FieldTypeSet* supported_types) const OVERRIDE;
// Returns the localized country name corresponding to |country_code_|.
string16 Country() const;
// The address.
string16 line1_;
string16 line2_;
string16 city_;
string16 state_;
std::string country_code_;
string16 zip_code_;
};
#endif // CHROME_BROWSER_AUTOFILL_ADDRESS_H_