nsIExternalHelperAppService

The external helper app service is used for finding and launching platform specific external applications for a given MIME content type.
Inherits from: nsISupports Last changed in Gecko 1.7

Implemented by: @mozilla.org/uriloader/external-helper-app-service;1. To access this service, use:

var externalHelperAppService = Components.classes["@mozilla.org/uriloader/external-helper-app-service;1"]
                               .getService(Components.interfaces.nsIExternalHelperAppService);

Method overview

boolean applyDecodingForExtension(in AUTF8String aExtension, in ACString aEncodingType);
nsIStreamListener doContent(in ACString aMimeContentType, in nsIRequest aRequest, in nsIInterfaceRequestor aWindowContext, in boolean aForceSave);

Methods

applyDecodingForExtension()

Determines whether or not data whose filename has the specified extension should be decoded from the specified encoding type before being saved or delivered to helper applications.

boolean applyDecodingForExtension(
  in AUTF8String aExtension,
  in ACString aEncodingType
);
Parameters
aExtension
The filename extension to check.
aEncodingType
The encoding type to check.
Return value

true if data from URLs with the specified extension and encoding should be decoded prior to saving the file or delivering it to a helper application; otherwise false.

doContent()

Binds an external helper application to a stream listener. The caller should pump data into the returned stream listener. When the OnStopRequest is issued, the stream listener implementation will launch the helper app with this data.

nsIStreamListener doContent(
  in ACString aMimeContentType,
  in nsIRequest aRequest,
  in nsIInterfaceRequestor aWindowContext,
  in boolean aForceSave
);
Parameters
aMimeContentType
The content type of the incoming data.
aRequest
The request corresponding to the incoming data.
aWindowContext
Use nsIServiceManager.getInterface() to retrieve properties like the DOM window or parent window; the service might need this in order to bring up dialogs.
aForceSave
true to always save this content to disk, regardless of nsIMIMEInfo and other such influences.
Return value

A nsIStreamListener which the caller should pump the data into.