summaryrefslogtreecommitdiffstats
path: root/toolkit/components/autocomplete/nsIAutoCompleteSearch.idl
blob: ca41be4a3622b4a6d065b6210e065a1f202978b5 (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
/* 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 nsIAutoCompleteResult;
interface nsIAutoCompleteObserver;
interface nsIPropertyBag2;

[scriptable, uuid(DE8DB85F-C1DE-4d87-94BA-7844890F91FE)]
interface nsIAutoCompleteSearch : nsISupports
{
  /*
   * Search for a given string and notify a listener (either synchronously
   * or asynchronously) of the result
   *
   * @param searchString - The string to search for
   * @param searchParam - An extra parameter
   * @param previousResult - A previous result to use for faster searching
   * @param listener - A listener to notify when the search is complete
   */
  void startSearch(in AString searchString,
                   in AString searchParam,
                   in nsIAutoCompleteResult previousResult,
                   in nsIAutoCompleteObserver listener);

  /*
   * Stop all searches that are in progress
   */
  void stopSearch();
};

[scriptable, uuid(8bd1dbbc-dcce-4007-9afa-b551eb687b61)]
interface nsIAutoCompleteObserver : nsISupports
{
  /*
   * Called when a search is complete and the results are ready
   *
   * @param search - The search object that processed this search
   * @param result - The search result object
   */
  [can_run_script] void onSearchResult(in nsIAutoCompleteSearch search,
                                       in nsIAutoCompleteResult result);
};