Public Member Functions | Public Attributes

nsIIncrementalDownload Interface Reference

An incremental download object attempts to fetch a file piecemeal over time in an effort to minimize network bandwidth usage. More...

import "nsIIncrementalDownload.idl";

Inheritance diagram for nsIIncrementalDownload:
Collaboration diagram for nsIIncrementalDownload:

List of all members.

Public Member Functions

void init (in nsIURI uri, in nsIFile destination, in long chunkSize, in long intervalInSeconds)
 Initialize the incremental download object.
void start (in nsIRequestObserver observer, in nsISupports ctxt)
 Start the incremental download.

Public Attributes

readonly attribute nsIURI URI
 The URI being fetched.
readonly attribute nsIURI finalURI
 The URI being fetched after any redirects have been followed.
readonly attribute nsIFile destination
 The file where the download is being written.
readonly attribute long long totalSize
 The total number of bytes for the requested file.
readonly attribute long long currentSize
 The current number of bytes downloaded so far.

Detailed Description

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.


Member Function Documentation

void nsIIncrementalDownload::init ( in nsIURI  uri,
in nsIFile  destination,
in long  chunkSize,
in long  intervalInSeconds 
)

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.

Parameters:
uri The URI to fetch.
destination The location where the file is to be stored.
chunkSize The size of the chunks to fetch. A non-positive value results in the default chunk size being used.
intervalInSeconds 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.
void nsIIncrementalDownload::start ( in nsIRequestObserver  observer,
in nsISupports  ctxt 
)

Start the incremental download.

Parameters:
observer 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.
ctxt User defined object forwarded to the observer's methods.

Member Data Documentation

readonly attribute long long nsIIncrementalDownload::currentSize

The 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.

The file where the download is being written.

The 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.

readonly attribute long long nsIIncrementalDownload::totalSize

The 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.

readonly attribute nsIURI nsIIncrementalDownload::URI

The URI being fetched.


The documentation for this interface was generated from the following file: