#ifndef CHROME_BROWSER_UI_AUTOFILL_COUNTRY_COMBOBOX_MODEL_H_
#define CHROME_BROWSER_UI_AUTOFILL_COUNTRY_COMBOBOX_MODEL_H_
#include <set>
#include <string>
#include <vector>
#include "base/callback.h"
#include "base/compiler_specific.h"
#include "base/memory/scoped_vector.h"
#include "ui/base/models/combobox_model.h"
namespace autofill {
class AutofillCountry;
class PersonalDataManager;
class CountryComboboxModel : public ui::ComboboxModel {
public:
CountryComboboxModel(const PersonalDataManager& manager,
const base::Callback<bool(const std::string&)>& filter);
virtual ~CountryComboboxModel();
virtual int GetItemCount() const OVERRIDE;
virtual base::string16 GetItemAt(int index) OVERRIDE;
virtual bool IsItemSeparatorAt(int index) OVERRIDE;
const std::vector<AutofillCountry*>& countries() const {
return countries_.get();
}
std::string GetDefaultCountryCode() const;
private:
ScopedVector<AutofillCountry> countries_;
DISALLOW_COPY_AND_ASSIGN(CountryComboboxModel);
};
}
#endif