/* 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 "nsIMIMEInfo.idl"

/**
 * The external URL handler service is used for finding
 * platform-specific applications for handling particular URLs.
 */

[scriptable, uuid(56c5c7d3-6fd3-43f8-9429-4397e111453a)]
interface nsIExternalURLHandlerService : nsISupports
{
  /**
   * Given a URL, looks up the handler info from the OS. This should be
   * overridden by each OS's implementation.
   *
   * @param aURL The URL we are looking for.
   * @param aFound  Was an OS default handler for this URL found?
   * @return  An nsIHanderInfo for the protocol.
   */
  nsIHandlerInfo getURLHandlerInfoFromOS(in nsIURI aURL,
                                         out boolean aFound);

};
