Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
michael@0 | 1 | /* This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 4 | |
michael@0 | 5 | |
michael@0 | 6 | #include "nsISupports.idl" |
michael@0 | 7 | |
michael@0 | 8 | interface nsAString; |
michael@0 | 9 | interface inISearchObserver; |
michael@0 | 10 | |
michael@0 | 11 | [scriptable, uuid(D5FA765B-2448-4686-B7C1-5FF13ACB0FC9)] |
michael@0 | 12 | interface inISearchProcess : nsISupports |
michael@0 | 13 | { |
michael@0 | 14 | // indicates if an asynchronous search is in progress |
michael@0 | 15 | readonly attribute boolean isActive; |
michael@0 | 16 | |
michael@0 | 17 | // the number of results returned |
michael@0 | 18 | readonly attribute long resultCount; |
michael@0 | 19 | |
michael@0 | 20 | // for optimization when doing an async search, this will optionally |
michael@0 | 21 | // destroy old results, assuming they will be fetched as soon as |
michael@0 | 22 | // the observer is notified of their presence. If true, then indices |
michael@0 | 23 | // pass to the get*ResultAt methods will return null for any index |
michael@0 | 24 | // other than the most recent one, and getResults will return null always. |
michael@0 | 25 | attribute boolean holdResults; |
michael@0 | 26 | |
michael@0 | 27 | // start a synchronous search |
michael@0 | 28 | void searchSync(); |
michael@0 | 29 | |
michael@0 | 30 | // start an asynchronous search |
michael@0 | 31 | void searchAsync(in inISearchObserver aObserver); |
michael@0 | 32 | |
michael@0 | 33 | // command an async process to stop immediately |
michael@0 | 34 | void searchStop(); |
michael@0 | 35 | |
michael@0 | 36 | // performs a step in the asynchronous search loop |
michael@0 | 37 | // return indicates true if loop is done, false if it should continue |
michael@0 | 38 | // This is there only for the benefit of asynchronous search controllers, |
michael@0 | 39 | // and is not for use by those who just wish to call searchAsync |
michael@0 | 40 | boolean searchStep(); |
michael@0 | 41 | |
michael@0 | 42 | // methods for getting results of specific types |
michael@0 | 43 | |
michael@0 | 44 | AString getStringResultAt(in long aIndex); |
michael@0 | 45 | |
michael@0 | 46 | long getIntResultAt(in long aIndex); |
michael@0 | 47 | |
michael@0 | 48 | unsigned long getUIntResultAt(in long aIndex); |
michael@0 | 49 | }; |