nsIDownloadManager

by 2 contributors:

nsIDownloadManager インタフェースは、アプリケーションや拡張機能がダウンロードマネージャとやりとりできるようにします。例えば、ダウンロードするファイルの追加や削除、ダウンロードに関する情報の取得、ダウンロード完了時の通知取得、といった機能を備えています。


Please add a summary to this article.
  最終更新: Gecko 1.9 (Firefox 3)

継承元: nsISupports

実装: @mozilla.org/download-manager;1。インスタンスを作成するには、以下のように記述します。

var dm = Components.classes["@mozilla.org/download-manager;1"]
                   .createInstance(Components.interfaces.nsIDownloadManager);

メソッドの概要

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)
nsIDownload getDownload(in unsigned long aID)
void cancelDownload(in unsigned long aID)
void removeDownload(in unsigned long aID)
void pauseDownload(in unsigned long aID)
void resumeDownload(in unsigned long aID)
void retryDownload(in unsigned long aID)
void cleanUp()
void addListener(in nsIDownloadProgressListener aListener)
void removeListener(in nsIDownloadProgressListener aListener)

属性

属性 説明
DBConnection mozIStorageConnection ダウンロードデータベースへのデータベース接続。 読み取り専用。
canCleanUp boolean ダウンロードが、完了時、失敗時、キャンセル時に削除可能かどうかを示します。 読み取り専用。
activeDownloadCount long 現在ダウンロード中のファイル数。 読み取り専用。
activeDownloads nsISimpleEnumerator アクティブな nsIDownloads の列挙。 読み取り専用。
defaultDownloadsDirectory nsILocalFile プラットフォーム標準のダウンロードディレクトリを返します。 読み取り専用。
userDownloadsDirectory nsILocalFile ユーザが設定したダウンロードディレクトリを返します。 読み取り専用。

上記のパスは、ユーザが編集可能な 2 つの設定項目に依存します。

browser.download.folderList は、標準のダウンロード場所を定義します。

  • 0: ファイルは初期設定ではデスクトップにダウンロードされます。
  • 1: ファイルは初期設定ではシステム標準のダウンロードフォルダにダウンロードされます。
  • 2: ファイルは browser.download.dir で設定されたローカルパスにダウンロードされます。この設定値が不正な場合、ダウンロードディレクトリは初期設定値にフォールバックされます。

定数

定数 説明
DOWNLOAD_NOTSTARTED -1 ダウンロードはまだ開始されていません。
DOWNLOAD_DOWNLOADING 0 ダウンロードは現在進行中です。
DOWNLOAD_FINISHED 1 ダウンロードは完了しました。
DOWNLOAD_FAILED 2 ダウンロードは失敗しました。
DOWNLOAD_CANCELED 3 ユーザがダウンロードをキャンセルしました。
DOWNLOAD_PAUSED 4 ダウンロードは中止されています。
DOWNLOAD_QUEUED 5 ダウンロードは待ち状態で、まだダウンロードは開始されていません。
DOWNLOAD_BLOCKED 6 保護者による制限 (ペアレンタルコントロール) が働いたために、あるいは、そのファイルがウイルスに感染していて駆除できないとウイルス対策ソフトによって判断されたために、ダウンロードはブロックされました。
DOWNLOAD_SCANNING 7 ダウンロードはウイルス対策ソフトによってスキャンが行われています。
DOWNLOAD_TYPE_DOWNLOAD 0 不明

メソッド

addDownload()

nsIDownload を作成し、ダウンロードマネージャが管理できるように追加します。

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
)
引数
<tt>aDownloadType</tt>
転送するダウンロードの種類。 詳細不明
<tt>aSource</tt>
ファイルの取得元 URI。null にはなりません。
<tt>aTarget</tt>
転送されたファイルが保存される場所を示した URI。null にはなりません。
<tt>aDisplayName</tt>
ユーザが読める形での転送の説明。空白文字になる可能性があります。
<tt>aMIMEInfo</tt>
ターゲットファイルに関連付けられた MIME 情報。これには、MIME タイプや、適切な場合にはヘルパーアプリケーションが含まれます。このパラメータはオプションです。
<tt>startTime</tt>
ダウンロードの開始時刻。
<tt>aTempFile</tt>
一時ファイル (受信したデータが保存されるファイルで、ターゲットファイルとは異なります) の場所。ダウンロードが完了すると、ファイルは <tt>aTarget</tt> によって示される場所に移動されます。これは null になる可能性があります。
<tt>aCancelable</tt>
ダウンロードをキャンセルするために使用できるオブジェクト。null にはなりません。
戻り値

新たに作成された、渡されたプロパティを伴ったダウンロード項目。

注: ダウンロードを追加しても、即座に転送が開始されるわけではありません。追加した後ダウンロードを開始したい場合は、nsIWebBrowserPersist オブジェクトを作成し、このメソッドを呼び出し、戻り値となるダウンロードオブジェクトのための progressListener を設定し、その後で saveURI() メソッドを呼び出す必要があります。

getDownload()

ダウロードマネージャによって管理されているダウンロードを取得します。これは、進行中、あるいは完了したダウンロードで、データベースに保存されている項目になります。

nsIDownload getDownload(
  in unsigned long aID
)
引数
<tt>aID</tt>
ダウンロードの固有 ID。
戻り値

指定された ID のダウンロード。

投げられる例外
<tt>NS_ERROR_NOT_AVAILABLE</tt>
指定されたダウンロードはデータベース内にありません。

cancelDownload()

指定された ID のダウンロードが進行中であった場合、そのダウンロードをキャンセルします。これは、そのダウンロードによって提供された nsICancelablecancel(NS_BINDING_ABORTED) を呼び出します。

 void cancelDownload(
   in unsigned long aID
 )
引数
<tt>aID</tt>
ダウンロードの固有 ID。
投げられる例外
<tt>NS_ERROR_FAILURE</tt>
ダウンロードが進行中ではありません。

removeDownload()

指定された ID のダウンロードが進行中でなかった場合、そのダウンロードを削除します。cancelDownload() が単純に転送をキャンセルしつつ関連情報を残すのに対して、removeDownload() は関連情報もすべて削除します。

 void removeDownload(
   in unsigned long aID
 )
引数
<tt>aID</tt>
ダウンロードの固有 ID。
投げられる例外
<tt>NS_ERROR_FAILURE</tt>
ダウンロードはアクティブです。

pauseDownload()

指定されたダウンロードを中止します。

 void pauseDownload(
   in unsigned long aID
 )
引数
<tt>aID</tt>
中止するダウンロードの固有 ID。
投げられる例外
<tt>NS_ERROR_FAILURE</tt>
ダウンロードが進行中ではありません。

resumeDownload()

指定されたダウンロードを再開します。

 void resumeDownload(
   in unsigned long aID
 )
引数
<tt>aID</tt>
再開するダウンロードの固有 ID。
投げられる例外
<tt>NS_ERROR_FAILURE</tt>
ダウンロードが進行中ではありません。

retryDownload()

失敗したダウンロードを再試行します。

 void retryDownload(
   in unsigned long aID
 )
引数
<tt>aID</tt>
ダウンロードの固有 ID。
投げられる例外
<tt>NS_ERROR_NOT_AVAILALE</tt>
ダウンロードが不明です。

cleanUp()

完了、失敗、キャンセルされたダウンロードをリストから削除します。

 void cleanUp()
引数

ありません。

addListener()

ダウンロードマネージャにリスナーを追加します。

 void addListener(
   in nsIDownloadProgressListener aListener
 )
引数
<tt>aListener</tt>
ダウンロードマネージャからステータス情報を受け取る nsIDownloadProgressListener オブジェクト。

removeListener()

ダウンロードマネージャからリスナーを削除します。

 void removeListener(
   in nsIDownloadProgressListener aListener
 )
引数
<tt>aListener</tt>
ダウンロードマネージャのリスニングを中止する nsIDownloadProgressListener オブジェクト。

関連記事

 

ドキュメントのタグと貢献者

Contributors to this page: teoli, Kohei
最終更新者: teoli,