summaryrefslogtreecommitdiff
path: root/toolkit/components/satchel/nsIFormHistory.idl
blob: ac78451e90e5219554679d0c02be719e4d3278d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"
interface nsIFile;
interface mozIStorageConnection;

/**
 * The nsIFormHistory object is a service which holds a set of name/value
 * pairs.  The names correspond to form field names, and the values correspond
 * to values the user has submitted.  So, several values may exist for a single
 * name.
 *
 * Note: this interface provides no means to access stored values.
 * Stored values are used by the FormFillController to generate
 * autocomplete matches.
 *
 * @deprecated use FormHistory.jsm instead.
 */

[scriptable, uuid(5d7d84d1-9798-4016-bf61-a32acf09b29d)]
interface nsIFormHistory2 : nsISupports
{
  /**
   * Returns true if the form history has any entries.
   */
  readonly attribute boolean hasEntries;

  /**
   * Adds a name and value pair to the form history.
   */
  void addEntry(in AString name, in AString value);

  /**
   * Removes a name and value pair from the form history.
   */
  void removeEntry(in AString name, in AString value);

  /**
   * Removes all entries that are paired with a name.
   */
  void removeEntriesForName(in AString name);

  /**
   * Removes all entries in the entire form history.
   */
  void removeAllEntries();

  /**
   * Returns true if there is no entry that is paired with a name.
   */
  boolean nameExists(in AString name);

  /**
   * Gets whether a name and value pair exists in the form history.
   */
  boolean entryExists(in AString name, in AString value);

  /**
   * Removes entries that were created between the specified times.
   *
   * @param aBeginTime
   *        The beginning of the timeframe, in microseconds
   * @param aEndTime
   *        The end of the timeframe, in microseconds
   */
  void removeEntriesByTimeframe(in long long aBeginTime, in long long aEndTime);

  /**
   * Returns the underlying DB connection the form history module is using.
   */
  readonly attribute mozIStorageConnection DBConnection;
};