1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /* 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);
- };
|