Implemented by
The nsIStreamConverterService is a higher level stream converter factory responsible for locating and creating stream converters (nsIStreamConverter). This service retrieves an interface that can convert data from a particular MIME type, to a particular MIME type. It is responsible for any intermediary conversion required in order to get from X to Z, assuming direct conversion is not possible. @author Jud Valeski @see nsIStreamConverter
[scriptable, uuid(e086e1e2-40ff-4193-8b8c-bd548babe70d)]
interface nsIStreamConverterService : nsISupports
Methods
<b>ASYNCRONOUS VERSION</b>
Retrieves a nsIStreamListener that receives the original/raw data via its
nsIStreamListener::OnDataAvailable() callback, then converts and pushes
the data to aListener.
Use this method when you want to proxy (and convert) nsIStreamListener
callbacks asynchronously.
@param aFromType The MIME type of the original/raw data.
@param aToType The MIME type of the converted data.
@param aListener The listener that receives the converted data.
@param aCtxt Either an opaque context, or a converter specific
context (implementation specific).
@return A nsIStreamListener that receives data via its
OnDataAvailable() method.
nsIStreamListener
asyncConvertData(in string aFromType, in string aToType, in nsIStreamListener aListener, in nsISupports aContext)
<b>SYNCRONOUS VERSION</b>
Converts a stream of one type, to a stream of another type.
Use this method when you have a stream you want to convert.
@param aFromStream The stream representing the original/raw data.
@param aFromType The MIME type of aFromStream.
@param aToType The MIME type of the returned stream.
@param aContext Either an opaque context, or a converter specific
context (implementation specific).
@return The converted stream. NOTE: The returned stream
may not already be converted. An efficient stream
converter implementation will convert data on
demand rather than buffering the converted data
until it is used.
nsIInputStream
convert(in nsIInputStream aFromStream, in string aFromType, in string aToType, in nsISupports aContext)
Compare to: