|
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/. */ |
|
5 |
|
6 #include "nsISupports.idl" |
|
7 |
|
8 interface nsIUTF8StringEnumerator; |
|
9 interface nsIURI; |
|
10 |
|
11 /* nsIGnomeVFSMimeApp holds information about an application that is looked up |
|
12 with nsIGnomeVFSService::GetAppForMimeType. */ |
|
13 |
|
14 [scriptable, uuid(66009894-9877-405b-9321-bf30420e34e6)] |
|
15 interface nsIGnomeVFSMimeApp : nsISupports |
|
16 { |
|
17 const long EXPECTS_URIS = 0; |
|
18 const long EXPECTS_PATHS = 1; |
|
19 const long EXPECTS_URIS_FOR_NON_FILES = 2; |
|
20 |
|
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; |
|
28 |
|
29 void launch(in AUTF8String uri); |
|
30 }; |
|
31 |
|
32 /* |
|
33 * The VFS service makes use of a registry for information. |
|
34 * |
|
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. |
|
38 */ |
|
39 |
|
40 [scriptable, uuid(d1ac73a6-2ceb-4164-8142-215afe7fe8a6)] |
|
41 interface nsIGnomeVFSService : nsISupports |
|
42 { |
|
43 /*** MIME registry methods ***/ |
|
44 |
|
45 /* Obtain the MIME type registered for an extension. The extension |
|
46 should not include a leading dot. */ |
|
47 AUTF8String getMimeTypeFromExtension(in AUTF8String extension); |
|
48 |
|
49 /* Obtain the preferred application for opening a given MIME type */ |
|
50 nsIGnomeVFSMimeApp getAppForMimeType(in AUTF8String mimeType); |
|
51 |
|
52 /* Obtain a description for the given MIME type */ |
|
53 AUTF8String getDescriptionForMimeType(in AUTF8String mimeType); |
|
54 |
|
55 /*** Misc. methods ***/ |
|
56 |
|
57 /* Open the given URI in the default application */ |
|
58 void showURI(in nsIURI uri); |
|
59 [noscript] void showURIForInput(in ACString uri); |
|
60 }; |
|
61 |
|
62 %{C++ |
|
63 #define NS_GNOMEVFSSERVICE_CONTRACTID "@mozilla.org/gnome-vfs-service;1" |
|
64 %} |