blob: d1e2f1ca248b999e72b672cb0d277d3f096074b6 (
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
|
/* 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 nsAString;
interface inISearchObserver;
[scriptable, uuid(D5FA765B-2448-4686-B7C1-5FF13ACB0FC9)]
interface inISearchProcess : nsISupports
{
// indicates if an asynchronous search is in progress
readonly attribute boolean isActive;
// the number of results returned
readonly attribute long resultCount;
// for optimization when doing an async search, this will optionally
// destroy old results, assuming they will be fetched as soon as
// the observer is notified of their presence. If true, then indices
// pass to the get*ResultAt methods will return null for any index
// other than the most recent one, and getResults will return null always.
attribute boolean holdResults;
// start a synchronous search
void searchSync();
// start an asynchronous search
void searchAsync(in inISearchObserver aObserver);
// command an async process to stop immediately
void searchStop();
// performs a step in the asynchronous search loop
// return indicates true if loop is done, false if it should continue
// This is there only for the benefit of asynchronous search controllers,
// and is not for use by those who just wish to call searchAsync
boolean searchStep();
// methods for getting results of specific types
AString getStringResultAt(in long aIndex);
long getIntResultAt(in long aIndex);
unsigned long getUIntResultAt(in long aIndex);
};
|