1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include
"nsISupports.idl"
8 interface nsIUTF8StringEnumerator
;
11 /* nsIGnomeVFSMimeApp holds information about an application that is looked up
12 with nsIGnomeVFSService::GetAppForMimeType. */
14 [scriptable
, uuid(66009894-9877-405b
-9321-bf30420e34e6
)]
15 interface nsIGnomeVFSMimeApp
: nsISupports
17 const long EXPECTS_URIS
= 0;
18 const long EXPECTS_PATHS
= 1;
19 const long EXPECTS_URIS_FOR_NON_FILES
= 2;
21 readonly attribute AUTF8String
id;
22 readonly attribute AUTF8String name
;
23 readonly attribute AUTF8String command
;
24 readonly attribute
boolean canOpenMultipleFiles
;
25 readonly attribute
long expectsURIs
; // see constants above
26 readonly attribute nsIUTF8StringEnumerator supportedURISchemes
;
27 readonly attribute
boolean requiresTerminal
;
29 void launch
(in AUTF8String uri
);
33 * The VFS service makes use of a registry for information.
35 * The MIME registry holds information about MIME types, such as which
36 * extensions map to a given MIME type. The MIME registry also stores the
37 * id of the application selected to handle each MIME type.
40 [scriptable
, uuid(d1ac73a6
-2ceb
-4164-8142-215afe7fe8a6
)]
41 interface nsIGnomeVFSService
: nsISupports
43 /*** MIME registry methods ***/
45 /* Obtain the MIME type registered for an extension. The extension
46 should not include a leading dot. */
47 AUTF8String getMimeTypeFromExtension
(in AUTF8String extension
);
49 /* Obtain the preferred application for opening a given MIME type */
50 nsIGnomeVFSMimeApp getAppForMimeType
(in AUTF8String mimeType
);
52 /* Obtain a description for the given MIME type */
53 AUTF8String getDescriptionForMimeType
(in AUTF8String mimeType
);
55 /*** Misc. methods ***/
57 /* Open the given URI in the default application */
58 void showURI
(in nsIURI uri
);
59 [noscript
] void showURIForInput
(in ACString uri
);
63 #define NS_GNOMEVFSSERVICE_CONTRACTID
"@mozilla.org/gnome-vfs-service;1"