/* 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 inISearchProcess;

[scriptable, uuid(46226D9B-E398-4106-8D9B-225D4D0589F5)]
interface inISearchObserver : nsISupports
{
  // result codes which are sent to onSearchEnd
  const short IN_SUCCESS = 1; // search completed successfully
  const short IN_INTERRUPTED = 2; // search stopped due to user interruption
  const short IN_ERROR = 3; // search stopped due to an error

  void onSearchStart(in inISearchProcess aModule);
  void onSearchResult(in inISearchProcess aModule);
  void onSearchEnd(in inISearchProcess aModule, in short aResult);
  void onSearchError(in inISearchProcess aModule, in AString aMessage);
};