diff options
Diffstat (limited to 'layout/inspector/inISearchProcess.idl')
-rw-r--r-- | layout/inspector/inISearchProcess.idl | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/layout/inspector/inISearchProcess.idl b/layout/inspector/inISearchProcess.idl new file mode 100644 index 000000000..d1e2f1ca2 --- /dev/null +++ b/layout/inspector/inISearchProcess.idl @@ -0,0 +1,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); +}; |