Public Member Functions | Public Attributes

nsIDownloadManager Interface Reference

import "nsIDownloadManager.idl";

Collaboration diagram for nsIDownloadManager:

List of all members.

Public Member Functions

nsIDownload addDownload (in short aDownloadType, in nsIURI aSource, in nsIURI aTarget, in AString aDisplayName, in nsIMIMEInfo aMIMEInfo, in PRTime aStartTime, in nsILocalFile aTempFile, in nsICancelable aCancelable)
 Creates an nsIDownload and adds it to be managed by the download manager.
nsIDownload getDownload (in unsigned long aID)
 Retrieves a download managed by the download manager.
void cancelDownload (in unsigned long aID)
 Cancels the download with the specified ID if it's currently in-progress.
void removeDownload (in unsigned long aID)
 Removes the download with the specified id if it's not currently in-progress.
void removeDownloadsByTimeframe (in long long aBeginTime, in long long aEndTime)
 Removes all inactive downloads that were started inclusively within the specified time frame.
void pauseDownload (in unsigned long aID)
 Pause the specified download.
void resumeDownload (in unsigned long aID)
 Resume the specified download.
void retryDownload (in unsigned long aID)
 Retries a failed download.
void cleanUp ()
 Removes completed, failed, and canceled downloads from the list.
void addListener (in nsIDownloadProgressListener aListener)
 Adds a listener from the download manager.
void removeListener (in nsIDownloadProgressListener aListener)
 Removes a listener from the download manager.

Public Attributes

const short DOWNLOAD_TYPE_DOWNLOAD = 0
 Download type for generic file download.
const short DOWNLOAD_NOTSTARTED = -1
 Download state for uninitialized download object.
const short DOWNLOAD_DOWNLOADING = 0
 Download is currently transferring data.
const short DOWNLOAD_FINISHED = 1
 Download completed including any processing of the target file.
const short DOWNLOAD_FAILED = 2
 Transfer failed due to error.
const short DOWNLOAD_CANCELED = 3
 Download was canceled by the user.
const short DOWNLOAD_PAUSED = 4
 Transfer was paused by the user.
const short DOWNLOAD_QUEUED = 5
 Download is active but data has not yet been received.
const short DOWNLOAD_BLOCKED_PARENTAL = 6
 Transfer request was blocked by parental controls proxies.
const short DOWNLOAD_SCANNING = 7
 Transferred download is being scanned by virus scanners.
const short DOWNLOAD_DIRTY = 8
 A virus was detected in the download.
const short DOWNLOAD_BLOCKED_POLICY = 9
 Win specific: Request was blocked by zone policy settings.
readonly attribute
mozIStorageConnection 
DBConnection
 The database connection to the downloads database.
readonly attribute boolean canCleanUp
 Whether or not there are downloads that can be cleaned up (removed) i.e.
readonly attribute long activeDownloadCount
 The number of files currently being downloaded.
readonly attribute
nsISimpleEnumerator 
activeDownloads
 An enumeration of active nsIDownloads.
readonly attribute nsILocalFile defaultDownloadsDirectory
 Returns the platform default downloads directory.
readonly attribute nsILocalFile userDownloadsDirectory
 Returns the user configured downloads directory.

Member Function Documentation

nsIDownload nsIDownloadManager::addDownload ( in short  aDownloadType,
in nsIURI  aSource,
in nsIURI  aTarget,
in AString  aDisplayName,
in nsIMIMEInfo  aMIMEInfo,
in PRTime  aStartTime,
in nsILocalFile  aTempFile,
in nsICancelable  aCancelable 
)

Creates an nsIDownload and adds it to be managed by the download manager.

Parameters:
aSource The source URI of the transfer. Must not be null.
aTarget The target URI of the transfer. Must not be null.
aDisplayName The user-readable description of the transfer. Can be empty.
aMIMEInfo The MIME info associated with the target, including MIME type and helper app when appropriate. This parameter is optional.
startTime Time when the download started
aTempFile The location of a temporary file; i.e. a file in which the received data will be stored, but which is not equal to the target file. (will be moved to the real target by the caller, when the download is finished) May be null.
aCancelable An object that can be used to abort the download. Must not be null.
Returns:
The newly created download item with the passed-in properties.
Note:
This does not actually start a download. If you want to add and start a download, you need to create an nsIWebBrowserPersist, pass it as the aCancelable object, call this method, set the progressListener as the returned download object, then call saveURI.
void nsIDownloadManager::addListener ( in nsIDownloadProgressListener  aListener  ) 

Adds a listener from the download manager.

void nsIDownloadManager::cancelDownload ( in unsigned long  aID  ) 

Cancels the download with the specified ID if it's currently in-progress.

This calls cancel(NS_BINDING_ABORTED) on the nsICancelable provided by the download.

Parameters:
aID The unique ID of the download.
Exceptions:
NS_ERROR_FAILURE if the download is not in-progress.
void nsIDownloadManager::cleanUp (  ) 

Removes completed, failed, and canceled downloads from the list.

Also notifies observers of the "download-manager-remove-download" topic with a null subject to allow any DM consumers to react to the removals.

nsIDownload nsIDownloadManager::getDownload ( in unsigned long  aID  ) 

Retrieves a download managed by the download manager.

This can be one that is in progress, or one that has completed in the past and is stored in the database.

Parameters:
aID The unique ID of the download.
Returns:
The download with the specified ID.
Exceptions:
NS_ERROR_NOT_AVAILABLE if the download is not in the database.
void nsIDownloadManager::pauseDownload ( in unsigned long  aID  ) 

Pause the specified download.

Parameters:
aID The unique ID of the download.
Exceptions:
NS_ERROR_FAILURE if the download is not in-progress.
void nsIDownloadManager::removeDownload ( in unsigned long  aID  ) 

Removes the download with the specified id if it's not currently in-progress.

Whereas cancelDownload simply cancels the transfer, but retains information about it, removeDownload removes all knowledge of it.

Also notifies observers of the "download-manager-remove-download" topic with the download id as the subject to allow any DM consumers to react to the removal.

Parameters:
aID The unique ID of the download.
Exceptions:
NS_ERROR_FAILURE if the download is active.
void nsIDownloadManager::removeDownloadsByTimeframe ( in long long  aBeginTime,
in long long  aEndTime 
)

Removes all inactive downloads that were started inclusively within the specified time frame.

Parameters:
aBeginTime The start time to remove downloads by in microseconds.
aEndTime The end time to remove downloads by in microseconds.
void nsIDownloadManager::removeListener ( in nsIDownloadProgressListener  aListener  ) 

Removes a listener from the download manager.

void nsIDownloadManager::resumeDownload ( in unsigned long  aID  ) 

Resume the specified download.

Parameters:
aID The unique ID of the download.
Exceptions:
NS_ERROR_FAILURE if the download is not in-progress.
void nsIDownloadManager::retryDownload ( in unsigned long  aID  ) 

Retries a failed download.

Parameters:
aID The unique ID of the download.
Exceptions:
NS_ERROR_NOT_AVAILALE if the download id is not known.
NS_ERROR_FAILURE if the download is not in the following states: nsIDownloadManager::DOWNLOAD_CANCELED nsIDownloadManager::DOWNLOAD_FAILED

Member Data Documentation

readonly attribute long nsIDownloadManager::activeDownloadCount

The number of files currently being downloaded.

An enumeration of active nsIDownloads.

Whether or not there are downloads that can be cleaned up (removed) i.e.

downloads that have completed, have failed or have been canceled.

The database connection to the downloads database.

Returns the platform default downloads directory.

Transfer request was blocked by parental controls proxies.

(completed)

Win specific: Request was blocked by zone policy settings.

(see bug #416683) (completed)

Download was canceled by the user.

(completed)

A virus was detected in the download.

The target will most likely no longer exist. (completed)

Download is currently transferring data.

Transfer failed due to error.

(completed)

Download completed including any processing of the target file.

(completed)

Download state for uninitialized download object.

Transfer was paused by the user.

Download is active but data has not yet been received.

Transferred download is being scanned by virus scanners.

Download type for generic file download.

Returns the user configured downloads directory.

The path is dependent on two user configurable prefs set in preferences:

browser.download.folderList Indicates the location users wish to save downloaded files too. Values: 0 - The desktop is the default download location. 1 - The system's downloads folder is the default download location. 2 - The default download location is elsewhere as specified in browser.download.dir. If invalid, userDownloadsDirectory will fallback on defaultDownloadsDirectory.

browser.download.dir - A local path the user may have selected at some point where downloaded files are saved. The use of which is enabled when folderList equals 2.


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