1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2009 The Chromium Authors. All rights reserved.
2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file.
4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef CHROME_BROWSER_WEBDATA_AUTOFILL_ENTRY_H__
6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define CHROME_BROWSER_WEBDATA_AUTOFILL_ENTRY_H__
73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once
8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include <vector>
10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/string16.h"
11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/time.h"
12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass AutofillKey {
14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch public:
15513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  AutofillKey();
16513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  AutofillKey(const string16& name, const string16& value);
17513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  AutofillKey(const char* name, const char* value);
18513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  AutofillKey(const AutofillKey& key);
19513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  virtual ~AutofillKey();
20513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch
21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  const string16& name() const { return name_; }
22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  const string16& value() const { return value_; }
23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  bool operator==(const AutofillKey& key) const;
25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  bool operator<(const AutofillKey& key) const;
26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch private:
28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  string16 name_;
29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  string16 value_;
30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch};
31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass AutofillEntry {
33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch public:
34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  AutofillEntry(const AutofillKey& key,
35513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch                const std::vector<base::Time>& timestamps);
36513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  ~AutofillEntry();
37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  const AutofillKey& key() const { return key_; }
39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  const std::vector<base::Time>& timestamps() const { return timestamps_; }
40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  bool operator==(const AutofillEntry& entry) const;
42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  bool operator<(const AutofillEntry& entry) const;
43c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch private:
45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  AutofillKey key_;
46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  std::vector<base::Time> timestamps_;
47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch};
48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
49c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif  // CHROME_BROWSER_WEBDATA_AUTOFILL_ENTRY_H__
50