Linux Mac OSX Windows

Implemented by


  
[scriptable, uuid(1f280341-30f4-4009-bb0d-a78f2936d1fb)]
interface nsIDownloadManager : nsISupports

Constants


        
const short DOWNLOAD_NOTSTARTED = -1

        
const short DOWNLOAD_DOWNLOADING = 0

        
const short DOWNLOAD_FINISHED = 1

        
const short DOWNLOAD_FAILED = 2

        
const short DOWNLOAD_CANCELED = 3

        
const short DOWNLOAD_PAUSED = 4

        
const short DOWNLOAD_TYPE_DOWNLOAD = 0

Attributes

 
 The number of files currently being downloaded.
readonly attribute long activeDownloadCount
 An enumeration of active downloads.
readonly attribute nsISupportsArray activeDownloads
 
 Whether or not there are downloads that can be cleaned up (removed)
 i.e. downloads that have completed, have failed or have been canceled. 
readonly attribute boolean canCleanUp

        
readonly attribute nsIRDFDataSource datasource
 
 The Download Manager's progress listener.
attribute nsIDownloadProgressListener listener

Methods

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

 @param aSource The source URI of the transfer. Must not be null.

 @param aTarget The target URI of the transfer. Must not be null.

 @param aDisplayName The user-readable description of the transfer.
                     Can be empty.

 @param aMIMEInfo The MIME info associated with the target,
                  including MIME type and helper app when appropriate.
                  This parameter is optional.

 @param startTime Time when the download started

 @param 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.

 @param aCancelable An object that can be used to abort the download.
                    Must not be null.

 @return The newly created download item with the passed-in properties.
nsIDownload addDownload(in short aDownloadType, in nsIURI aSource, in nsIURI aTarget, in AString aDisplayName, in AString aIconURL, in nsIMIMEInfo aMIMEInfo, in PRTime aStartTime, in nsILocalFile aTempFile, in nsICancelable aCancelable)
 Cancels the download with the specified persistent descriptor if it's
 currently in progress. This calls cancel(NS_BINDING_ABORTED) on the
 nsICancelable provided for the download.

 @param aPersistentDescriptor The persistent descriptor of the download to
                              be cancelled.
void cancelDownload(in wstring aPersistentDescriptor)
 
 Removes completed, failed, and canceled downloads from the list. 
void cleanUp()
 Indicate that a batch update is ending.
void endBatchUpdate()
 
 Flush the download datasource to disk.
void flush()
  Retrieves an in-progress download managed by the download manager.

  @param aPersistentDescriptor The unique identifier used to describe a
                               a download, and an attribute of nsILocalFile.
                               On Windows and Linux, this is just the path
                               of the target, but on Mac this is guaranteed
                               to be unique.

  @return The download with the specified persistent descriptor.
nsIDownload getDownload(in wstring aPersistentDescriptor)
 
 Opens the Download Manager front end.
 
 @param aParent   The parent, or opener, of the front end (optional).
 @param aDownload A download to pass to the manager widnow. Useful if,
                  for example, you want the window to select a certain
                  download (optional).
void open(in nsIDOMWindow aParent, in wstring aPersistentDescriptor)
 Pause the specified download.
void pauseDownload(in wstring aPersistentDescriptor)
 Removes the download with the specified persistent descriptor if it's not
 currently in progress.  Whereas cancelDownload simply cancels the transfer
 but retains information about it, removeDownload removes all knowledge of it.

 @param aPersistentDescriptor The persistent descriptor of the download to
                              be removed.
void removeDownload(in wstring aPersistentDescriptor)
 Resume the specified download.
void resumeDownload(in wstring aPersistentDescriptor)
 
 Update the download datasource. 
void saveState()
 Indicate that a batch update (e.g. mass removal) is about to start.
void startBatchUpdate()