nsIProgressEventSink

This interface is used to asynchronously convey channel status and progress information that is generally not critical to the processing of the channel. The information is intended to be displayed to the user in some meaningful way.
Inherits from: nsISupports Last changed in Gecko 1.7

This interface is used to asynchronously convey channel status and progress information that is generally not critical to the processing of the channel. The information is intended to be displayed to the user in some meaningful way.

An implementation of this interface can be passed to a channel via the channel's notificationCallbacks attribute. See nsIChannel for more info.

The channel will begin passing notifications to the progress event sink after its asyncOpen method has been called. Notifications will cease once the channel calls its listener's onStopRequest method or once the channel is canceled (via nsIRequest.cancel()).

Note: This interface is actually not specific to channels and may be used with other implementations of nsIRequest.

Method overview

void onProgress(in nsIRequest aRequest, in nsISupports aContext, in unsigned long long aProgress, in unsigned long long aProgressMax);
void onStatus(in nsIRequest aRequest, in nsISupports aContext, in nsresult aStatus, in wstring aStatusArg);

Methods

onProgress()

Called to notify the event sink that progress has occurred for the given request.

void onProgress(
  in nsIRequest aRequest,
  in nsISupports aContext,
  in unsigned long long aProgress,
  in unsigned long long aProgressMax
);
Parameters
aRequest
The request being observed (may QI to nsIChannel).
aContext
If aRequest is a channel, then this parameter is the listener context passed to nsIChannel.asyncOpen().
aProgress
Numeric value in the range 0 to aProgressMax indicating the number of bytes transfered thus far.
aProgressMax
Numeric value indicating maximum number of bytes that will be transfered (or 0xFFFFFFFFFFFFFFFF if total is unknown).

onStatus()

Called to notify the event sink with a status message for the given request.

void onStatus(
  in nsIRequest aRequest,
  in nsISupports aContext,
  in nsresult aStatus,
  in wstring aStatusArg
);
Parameters
aRequest
The request being observed (may QI to nsIChannel).
aContext
If aRequest is a channel, then this parameter is the listener context passed to nsIChannel.asyncOpen().
aStatus
Status code (not necessarily an error code) indicating the state of the channel (usually the state of the underlying transport). see nsISocketTransport for socket specific status codes.
aStatusArg
Status code argument to be used with the string bundle service to convert the status message into localized, human readable text. the meaning of this parameter is specific to the value of the status code. for socket status codes, this parameter indicates the host:port associated with the status code.