nsIStreamConverter provides an interface to implement when you have code
that converts data from one type to another.
Suppose you had code that converted plain text into HTML. You could implement
this interface to allow everyone else to use your conversion logic using a
standard api.
STREAM CONVERTER USERS There are currently two ways to use a stream converter:
STREAM CONVERTER SUPPLIERS Registering a stream converter: Stream converter registration is a two step process. First of all the stream converter implementation must register itself with the component manager using a contractid in the format below. Second, the stream converter must add the contractid to the registry. Stream converter contractid format (the stream converter root key is defined in this file):
@mozilla.org/streamconv;1?from=FROM_MIME_TYPE&to=TO_MIME_TYPE@author Jud Valeski @see nsIStreamConverterService ## Methods ## ### convert(aFromStream, aFromType, aToType, aCtxt) ### SYNCRONOUS VERSION Converts a stream of one type, to a stream of another type. Use this method when you have a stream you want to convert. #### Parameters ####
aFromStream | The stream representing the original/raw data. |
aFromType | The MIME type of aFromStream. |
aToType | The MIME type of the returned stream. |
aCtxt | Either an opaque context, or a converter specific context (implementation specific). |
The converted stream. NOTE: The returned stream may not already be converted. An efficient stream converter implementation will converter data on demand rather than buffering the converted data until it is used. |
aFromType | The MIME type of the original/raw data. |
aToType | The MIME type of the converted data. |
aListener | The listener who receives the converted data. |
aCtxt | Either an opaque context, or a converter specific context (implementation specific). |