diff -r 000000000000 -r 6474c204b198 xpcom/system/nsIGnomeVFSService.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xpcom/system/nsIGnomeVFSService.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,64 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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 nsIUTF8StringEnumerator; +interface nsIURI; + +/* nsIGnomeVFSMimeApp holds information about an application that is looked up + with nsIGnomeVFSService::GetAppForMimeType. */ + +[scriptable, uuid(66009894-9877-405b-9321-bf30420e34e6)] +interface nsIGnomeVFSMimeApp : nsISupports +{ + const long EXPECTS_URIS = 0; + const long EXPECTS_PATHS = 1; + const long EXPECTS_URIS_FOR_NON_FILES = 2; + + readonly attribute AUTF8String id; + readonly attribute AUTF8String name; + readonly attribute AUTF8String command; + readonly attribute boolean canOpenMultipleFiles; + readonly attribute long expectsURIs; // see constants above + readonly attribute nsIUTF8StringEnumerator supportedURISchemes; + readonly attribute boolean requiresTerminal; + + void launch(in AUTF8String uri); +}; + +/* + * The VFS service makes use of a registry for information. + * + * The MIME registry holds information about MIME types, such as which + * extensions map to a given MIME type. The MIME registry also stores the + * id of the application selected to handle each MIME type. + */ + +[scriptable, uuid(d1ac73a6-2ceb-4164-8142-215afe7fe8a6)] +interface nsIGnomeVFSService : nsISupports +{ + /*** MIME registry methods ***/ + + /* Obtain the MIME type registered for an extension. The extension + should not include a leading dot. */ + AUTF8String getMimeTypeFromExtension(in AUTF8String extension); + + /* Obtain the preferred application for opening a given MIME type */ + nsIGnomeVFSMimeApp getAppForMimeType(in AUTF8String mimeType); + + /* Obtain a description for the given MIME type */ + AUTF8String getDescriptionForMimeType(in AUTF8String mimeType); + + /*** Misc. methods ***/ + + /* Open the given URI in the default application */ + void showURI(in nsIURI uri); + [noscript] void showURIForInput(in ACString uri); +}; + +%{C++ +#define NS_GNOMEVFSSERVICE_CONTRACTID "@mozilla.org/gnome-vfs-service;1" +%}