/usr/share/idl/thunderbird/nsIGIOService.idl is in thunderbird-dev 1:52.8.0-1~deb8u1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | /* -*- 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;
/* nsIGIOMimeApp holds information about an application that is looked up
   with nsIGIOService::GetAppForMimeType. */
// 66009894-9877-405b-9321-bf30420e34e6 prev uuid
[scriptable, uuid(ca6bad0c-8a48-48ac-82c7-27bb8f510fbe)] 
interface nsIGIOMimeApp : 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 long                expectsURIs;  // see constants above
  readonly attribute nsIUTF8StringEnumerator supportedURISchemes;
  void launch(in AUTF8String uri);
  void setAsDefaultForMimeType(in AUTF8String mimeType);
  void setAsDefaultForFileExtensions(in AUTF8String extensions);
  void setAsDefaultForURIScheme(in AUTF8String uriScheme);
};
/*
 * The VFS service makes use of two distinct registries.
 *
 * The application registry holds information about applications (uniquely
 * identified by id), such as which MIME types and URI schemes they are
 * capable of handling, whether they run in a terminal, etc.
 *
 * 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.
 */
// prev id dea20bf0-4e4d-48c5-b932-dc3e116dc64b
[scriptable, uuid(eda22a30-84e1-4e16-9ca0-cd1553c2b34a)]
interface nsIGIOService : 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 URI scheme */
  nsIGIOMimeApp      getAppForURIScheme(in AUTF8String aURIScheme);
  /* Obtain the preferred application for opening a given MIME type */
  nsIGIOMimeApp      getAppForMimeType(in AUTF8String mimeType);
  /* Obtain the preferred application for opening a given MIME type */
  nsIGIOMimeApp      createAppFromCommand(in AUTF8String cmd, 
                                          in AUTF8String appName);
  /* 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);
  /* Open path in file manager using org.freedesktop.FileManager1 interface */
  [noscript] void    orgFreedesktopFileManager1ShowItems(in ACString path);
};
%{C++
#define NS_GIOSERVICE_CONTRACTID "@mozilla.org/gio-service;1"
%}
 |