We should not be declaring forward declarations for nsString classes directly, instead we should use nsStringFwd.h. This will make changing the underlying types easier.
49 lines
1.6 KiB
Plaintext
49 lines
1.6 KiB
Plaintext
/* 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 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);
|
|
};
|