Readonly
URIThe URI being fetched.
Readonly
currentThe current number of bytes downloaded so far. This attribute is set just prior to calling OnStartRequest on the observer passed to the start method.
This attribute has a value of -1 if the current size is unknown.
Readonly
destinationThe file where the download is being written.
Readonly
finalURIThe URI being fetched after any redirects have been followed. This attribute is set just prior to calling OnStartRequest on the observer passed to the start method.
The load flags of this request. Bits 0-15 are reserved.
When added to a load group, this request's load flags are merged with the load flags of the load group.
The load group of this request. While pending, the request is a member of the load group. It is the responsibility of the request to implement this policy.
Readonly
nameThe name of the request. Often this is the URI of the request.
Readonly
statusThe error status associated with the request.
Readonly
totalThe total number of bytes for the requested file. This attribute is set just prior to calling OnStartRequest on the observer passed to the start method.
This attribute has a value of -1 if the total size is unknown.
Optional
aInstancePtr: objectA run time mechanism for interface discovery.
NS_OK if the interface is supported by the associated instance, NS_NOINTERFACE if it is not.
aInstancePtr must not be null.
[in] A requested interface IID
[out] A pointer to an interface pointer to receive the result.
Cancels the current request. This will close any open input or output streams and terminate any async requests. Users should normally pass NS_BINDING_ABORTED, although other errors may also be passed. The error passed in will become the value of the status attribute.
Implementations must not send any notifications (e.g. via nsIRequestObserver) synchronously from this function. Similarly, removal from the load group (if any) must also happen asynchronously.
Requests that use nsIStreamListener must not call onDataAvailable anymore after cancel has been called.
the reason for canceling this request.
NOTE: most nsIRequest implementations expect aStatus to be a failure code; however, some implementations may allow aStatus to be a success code such as NS_OK. In general, aStatus should be a failure code.
These methods encode/decode the TRR mode to/from the loadFlags. Helper methods Get/SetTRRModeImpl are provided so implementations don't need to duplicate code.
Requests with TRR_DEFAULT_MODE will use the mode indicated by the pref
Initialize the incremental download object. If the destination file already exists, then only the remaining portion of the file will be fetched.
NOTE: The downloader will create the destination file if it does not already exist. It will create the file with the permissions 0600 if needed. To affect the permissions of the file, consumers of this interface may create an empty file at the specified destination prior to starting the incremental download.
NOTE: Since this class may create a temporary file at the specified destination, it is advisable for the consumer of this interface to specify a file name for the destination that would not tempt the user into double-clicking it. For example, it might be wise to append a file extension like ".part" to the end of the destination to protect users from accidentally running "blah.exe" before it is a complete file.
The URI to fetch.
The location where the file is to be stored.
The size of the chunks to fetch. A non-positive value results in the default chunk size being used.
The amount of time to wait between fetching chunks. Pass a negative to use the default interval, or 0 to fetch the remaining part of the file in one chunk.
Indicates whether the request is pending. nsIRequest::isPending is true when there is an outstanding asynchronous event that will make the request no longer be pending. Requests do not necessarily start out pending; in some cases, requests have to be explicitly initiated (e.g. nsIChannel implementations are only pending once asyncOpen returns successfully).
Requests can become pending multiple times during their lifetime.
TRUE if the request has yet to reach completion.
FALSE if the request has reached completion (e.g., after OnStopRequest has fired).
Suspended requests are still considered pending.
Start the incremental download.
An observer to be notified of various events. OnStartRequest is called when finalURI and totalSize have been determined or when an error occurs. OnStopRequest is called when the file is completely downloaded or when an error occurs. If this object implements nsIProgressEventSink, then its OnProgress method will be called as data is written to the destination file. If this object implements nsIInterfaceRequestor, then it will be assigned as the underlying channel's notification callbacks, which allows it to provide a nsIAuthPrompt implementation if needed by the channel, for example.
User defined object forwarded to the observer's methods.
Suspends the current request. This may have the effect of closing any underlying transport (in order to free up resources), although any open streams remain logically opened and will continue delivering data when the transport is resumed.
Calling cancel() on a suspended request must not send any notifications (such as onstopRequest) until the request is resumed.
NOTE: some implementations are unable to immediately suspend, and may continue to deliver events already posted to an event queue. In general, callers should be capable of handling events even after suspending a request.
Generated using TypeDoc
An incremental download object attempts to fetch a file piecemeal over time in an effort to minimize network bandwidth usage.
Canceling a background download does not cause the file on disk to be deleted.