diff --git a/uriloader/exthandler/nsIExternalProtocolService.idl b/uriloader/exthandler/nsIExternalProtocolService.idl new file mode 100644 index 000000000000..a75b69af54ce --- /dev/null +++ b/uriloader/exthandler/nsIExternalProtocolService.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Mozilla Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is the Mozilla browser. + * + * The Initial Developer of the Original Code is Netscape + * Communications, Inc. Portions created by Netscape are + * Copyright (C) 1999, Mozilla. All Rights Reserved. + * + * Contributor(s): + * Scott MacGregor + */ + +/* The external protocol service is used for finding and launching + platform specific applications for particular protocols. + + You can ask the external protocol service if it has an external + handler for a given protocol scheme. And you can ask it to load + the url using the default handler... + */ + +#include "nsISupports.idl" + +interface nsIURI; + +[scriptable, uuid(100FD4B3-4557-11d4-98D0-001083010E9B)] +interface nsIExternalProtocolService : nsISupports +{ + // aProtocolScheme --> the scheme from a url: http, ftp, mailto, etc. + // returns true if we have a handler and false otherwise... + boolean externalProtocolHandlerExists(in string aProtocolScheme); + + // used to load a url via an external protocol handler (if one exists) + // aURL --> the url to load + void loadUrl (in nsIURI aURL); +};