The nsIPluginStreamListener interface defines the minimum set of functionality that
 the browser will support if it allows plugins. Plugins can call QueryInterface
 to determine if a plugin manager implements more specific APIs or other 
 browser interfaces for the plugin to use (e.g. nsINetworkManager).
[uuid(df055770-5448-11d2-8164-006008119d7a)]
interface nsIPluginStreamListener : nsISupports

Attributes

 Gets the type of the stream

 @param aStreamType - the type of the stream
readonly attribute nsPluginStreamType streamType

Methods

 Notify the client that data is available in the input stream.  This
 method is called whenver data is written into the input stream by the
 networking library...<BR><BR>
 
 @param aPluginInfo  - plugin stream info
 @param aInputStream - the input stream containing the data. This stream can
 be either a blocking or non-blocking stream.
 @param aLength      - the amount of data that was just pushed into the stream.
 @return             - the return value is currently ignored.
void onDataAvailable(in nsIPluginStreamInfo aPluginInfo, in nsIInputStream aInputStream, in unsigned long aLength)
 Notify the client that data is available in the file.
 
 @param aPluginInfo - plugin stream info
 @param aFileName   - the name of the file containing the data
 @return            - the return value is currently ignored.
void onFileAvailable(in nsIPluginStreamInfo aPluginInfo, in string aFileName)
 Notify the observer that the URL has started to load.  This method is
 called only once, at the beginning of a URL load.<BR><BR>

 @param aPluginInfo  - plugin stream info
 @return             - the return value is currently ignored, in the future
 it may be used to cancel the URL load..
void onStartBinding(in nsIPluginStreamInfo aPluginInfo)
 Notify the observer that the URL has finished loading.  This method is 
 called once when the networking library has finished processing the 
 URL transaction initiatied via the nsINetService::Open(...) call.<BR><BR>
 
 This method is called regardless of whether the URL loaded successfully.<BR><BR>
 
 @param aPluginInfo - plugin stream info
 @param aStatus     - reason why the stream has been terminated
 @return            - the return value is currently ignored.
void onStopBinding(in nsIPluginStreamInfo aPluginInfo, in nsresult aStatus)