nsIDownloadManager
出典: MDC
この記事は Firefox 3 の新機能について述べています
nsIDownloadManager インタフェースは、アプリケーションや拡張機能がダウンロードマネージャとやりとりできるようにします。例えば、ダウンロードするファイルの追加や削除、ダウンロードに関する情報の取得、ダウンロード完了時の通知取得、といった機能を備えています。
目次 |
nsIDownloadManager は toolkit/components/downloads/public/nsIDownloadManager.idl で定義されています。これは scriptable で
非凍結です。 (Mozilla 1.9から更新されていません)
継承元: 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 つの設定項目に依存します。
|
[編集] 定数
| 定数 | 値 | 説明 |
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 )
[編集] 引数
- aDownloadType
- 転送するダウンロードの種類。詳細不明
- aSource
- ファイルの取得元 URI。
nullにはなりません。
- aTarget
- 転送されたファイルが保存される場所を示した URI。
nullにはなりません。
- aDisplayName
- ユーザが読める形での転送の説明。空白文字になる可能性があります。
- aMIMEInfo
- ターゲットファイルに関連付けられた MIME 情報。これには、MIME タイプや、適切な場合にはヘルパーアプリケーションが含まれます。このパラメータはオプションです。
- startTime
- ダウンロードの開始時刻。
- aTempFile
- 一時ファイル (受信したデータが保存されるファイルで、ターゲットファイルとは異なります) の場所。ダウンロードが完了すると、ファイルは aTarget によって示される場所に移動されます。これは
nullになる可能性があります。
- aCancelable
- ダウンロードをキャンセルするために使用できるオブジェクト。
nullにはなりません。
[編集] 戻り値
新たに作成された、渡されたプロパティを伴ったダウンロード項目。
nsIWebBrowserPersist オブジェクトを作成し、このメソッドを呼び出し、戻り値となるダウンロードオブジェクトのための progressListener を設定し、その後で saveURI() メソッドを呼び出す必要があります。[編集] getDownload()
ダウロードマネージャによって管理されているダウンロードを取得します。これは、進行中、あるいは完了したダウンロードで、データベースに保存されている項目になります。
nsIDownload getDownload( in unsigned long aID )
[編集] 引数
- aID
- ダウンロードの固有 ID。
[編集] 戻り値
指定された ID のダウンロード。
[編集] 投げられる例外
- NS_ERROR_NOT_AVAILABLE
- 指定されたダウンロードはデータベース内にありません。
[編集] cancelDownload()
指定された ID のダウンロードが進行中であった場合、そのダウンロードをキャンセルします。これは、そのダウンロードによって提供された nsICancelable の cancel(NS_BINDING_ABORTED) を呼び出します。
void cancelDownload( in unsigned long aID )
[編集] 引数
- aID
- ダウンロードの固有 ID。
[編集] 投げられる例外
- NS_ERROR_FAILURE
- ダウンロードが進行中ではありません。
[編集] removeDownload()
指定された ID のダウンロードが進行中でなかった場合、そのダウンロードを削除します。cancelDownload() が単純に転送をキャンセルしつつ関連情報を残すのに対して、removeDownload() は関連情報もすべて削除します。
void removeDownload( in unsigned long aID )
[編集] 引数
- aID
- ダウンロードの固有 ID。
[編集] 投げられる例外
- NS_ERROR_FAILURE
- ダウンロードはアクティブです。
[編集] pauseDownload()
指定されたダウンロードを中止します。
void pauseDownload( in unsigned long aID )
[編集] 引数
- aID
- 中止するダウンロードの固有 ID。
[編集] 投げられる例外
- NS_ERROR_FAILURE
- ダウンロードが進行中ではありません。
[編集] resumeDownload()
指定されたダウンロードを再開します。
void resumeDownload( in unsigned long aID )
[編集] 引数
- aID
- 再開するダウンロードの固有 ID。
[編集] 投げられる例外
- NS_ERROR_FAILURE
- ダウンロードが進行中ではありません。
[編集] retryDownload()
失敗したダウンロードを再試行します。
void retryDownload( in unsigned long aID )
[編集] 引数
- aID
- ダウンロードの固有 ID。
[編集] 投げられる例外
- NS_ERROR_NOT_AVAILALE
- ダウンロードが不明です。
[編集] cleanUp()
完了、失敗、キャンセルされたダウンロードをリストから削除します。
void cleanUp()
[編集] 引数
ありません。
[編集] addListener()
ダウンロードマネージャにリスナーを追加します。
void addListener( in nsIDownloadProgressListener aListener )
[編集] 引数
- aListener
- ダウンロードマネージャからステータス情報を受け取る
nsIDownloadProgressListenerオブジェクト。
[編集] removeListener()
ダウンロードマネージャからリスナーを削除します。
void removeListener( in nsIDownloadProgressListener aListener )
[編集] 引数
- aListener
- ダウンロードマネージャのリスニングを中止する
nsIDownloadProgressListenerオブジェクト。