Visit Mozilla.org

nsIDownloadProgressListener

出典: MDC

nsIDownloadProgressListener インタフェースは、アプリケーションや拡張機能が、ダウンロードマネージャによって処理されているダウンロードの状況を監視する方法を提供します。開発者は、自分のコードでこのインタフェースを実装し、nsIDownloadManageraddListener() 関数を呼び出すだけで、監視を開始できます。

ダウンロードマネージャの状況を監視する必要がなくなったら、nsIDownloadManagerremoveListener() 関数を呼び出せば監視が中止されます。

ダウンロードの状況に変更があると、ダウンロードマネージャによって、ここで説明されているメソッドが呼び出されるので、必要なタイミングで処理を行えます。

このインタフェースの挙動は、nsIWebProgress インタフェースと非常に似ています。

目次

nsIDownloadProgressListenertoolkit/components/downloads/public/nsIDownloadProgressListener.idl で定義されています。これは scriptable非凍結です。 (Mozilla 1.9から更新されていません)

継承元: nsISupports

[編集] メソッドの概要

void onDownloadStateChange(in short aState, in nsIDownload aDownload)
void onProgressChange(in nsIWebProgress aWebProgress, in nsIRequest aRequest, in long long aCurSelfProgress, in long long aMaxSelfProgress, in long long aCurTotalProgress, in long long aMaxTotalProgress, in nsIDownload aDownload)
廃止 void onStatusChange(in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsresult aStatus, in wstring aMessage, in nsIDownload aDownload)
廃止 void onLocationChange(in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsIURI aLocation, in nsIDownload aDownload)x
void onSecurityChange(in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long aState, in nsIDownload aDownload)

[編集] 属性

属性 説明
document nsIDOMDocument ダウンロードマネージャのウィンドウを表すダウンロードドキュメント。

[編集] メソッド

[編集] onDownloadStateChange()

特定のダウンロードの状況に変更があったときに呼び出されます。

 void onDownloadStateChange(
   in short aState,
   in nsIDownload aDownload
 );
[編集] 引数
aState
ダウンロードの変更前の状況。取り得る値の一覧nsIDownloadManager を参照してください。
aDownload
ダウンロード状況に変更があったファイルを表す nsIDownload オブジェクト。このオブジェクトから、ダウンロードの変更後の状況を取得できます。

[編集] onStateChange()

特定のダウンロードの状況に変更があったときに呼び出されます。

 void onStateChange(
   in nsIWebProgress aWebProgress,
   in nsIRequest aRequest,
   in unsigned long aStateFlags,
   in nsresult aStatus,
   in nsIDownload aDownload
 );
[編集] 引数
aWebProgress
ダウンロードを監視するためにダウンロードマネージャによって利用される nsIWebProgress インスタンス。
aRequest
状況を変更した nsIChannel。この引数は NULL を取ることができません。
aStateFlags
ダウンロードの変更後の状況を示すフラグ。この値は、nsIWebProgressListener の記事に書かれている 状況遷移フラグ のいずれかの組み合わせになります。
aStatus
ダウンロードの変更後の状況に関する情報。詳しくは nsIWebProgressListener]] の [[nsIWebProgressListener#onStateChange|onStateChange() を参照してください。これは nsIDownloadManager の状況を示す定数 のいずれかになる場合もあります。
aDownload
状況が変更されたダウンロード。

[編集] onProgressChange()

ダウンロードの進捗レベルがダウンロードによって変更されたときに呼び出されます。

 void onProgressChange(
   in nsIWebProgress aWebProgress,
   in nsIRequest aRequest,
   in long long aCurSelfProgress,
   in long long aMaxSelfProgress,
   in long long aCurTotalProgress,
   in long long aMaxTotalProgress,
   in nsIDownload aDownload
 );
[編集] 引数
aWebProgress
ダウンロードを監視するためにダウンロードマネージャによって利用される nsIWebProgress インスタンス。
aRequest
状況を変更した nsIChannel。この引数は NULL を取ることができません。
aCurSelfProgress
aDownload で指定されたダウンロードに対して行われた、現在の進捗の量。
aMaxSelfProgress
ダウンロード完了を示すために達成しなければならない、個別進捗状況の値。
aCurTotalProgress
すべてのダウンロードに対して行われた、現在の進捗の量。
aMaxTotalProgress
すべてのダウンロード完了を示すために達成しなければならない、合計進捗状況の値。
aDownload
進捗状況が aCurSelfProgressaMaxSelfProgress の引数によって表される nsIDownload オブジェクト。

[編集] onStatusChange()

ダウンロードのリクエストの状況に変更があったときに呼び出されます。受け取る状況メッセージは、ユーザに直接表示することを意図したものです。

警告: このメソッドは Firefox 3 (Gecko 1.9) で削除されました。それ以前のバージョンでも、このメソッドが呼び出されているコードはありません。
 void onStatusChange(
   in nsIWebProgress aWebProgress,
   in nsIRequest aRequest,
   in nsresult aStatus,
   in wstring aMessage,
   in nsIDownload aDownload
 );
[編集] 引数
aWebProgress
ダウンロードを監視するためにダウンロードマネージャによって利用される nsIWebProgress インスタンス。
nsIChannel
状況を変更した nsIChannel。この引数は NULL を取ることができません。
aStatus
ダウンロードの変更後の状況に関する情報。詳しくは nsIWebProgressListener]] の [[nsIWebProgressListener#onStateChange|onStateChange() を参照してください。
aMessage
画面上に表示されることを意図した、ユーザが読める形での状況メッセージ
aDownload
状況が変更されたダウンロード。

[編集] onLocationChange()

警告: このメソッドは Firefox 3 (Gecko 1.9) で削除されました。それ以前のバージョンでも、このメソッドが呼び出されているコードはありません。
 void onLocationChange(
   in nsIWebProgress aWebProgress,
   in nsIRequest aRequest,
   in nsIURI aLocation,
   in nsIDownload aDownload
 );
[編集] 引数
aWebProgress
ダウンロードを監視するためにダウンロードマネージャによって利用される nsIWebProgress インスタンス。
aRequest
状況を変更した nsIChannel。この引数は NULL を取ることができません。
aLocation
ダウンロード中のファイルの URI。
aDownload
ダウンロード中のファイルを表す nsIDownload オブジェクト。

[編集] onSecurityChange()

ダウンロード中に使われるセキュリティレベルが変更されたときに呼び出されます。例えば、最初のリクエストが HTTPS を通じて行われ、その後ダウンロードが HTTP に変わった場合、この関数が呼び出され、その遷移を通知します。

 void onSecurityChange(
   in nsIWebProgress aWebProgress,
   in nsIRequest aRequest,
   in unsigned long aState,
   in nsIDownload aDownload
 );
 
[編集] 引数
aWebProgress
ダウンロードを監視するためにダウンロードマネージャによって利用される nsIWebProgress インスタンス。
aRequest
状況を変更した nsIChannel。この引数は NULL を取ることができません。
aState
ダウンロードの変更後の状況。取り得る値の一覧nsIDownloadManager を参照してください。
aDownload
セキュリティレベルが変更されたダウンロード。

[編集] 関連記事

nsIDownloadManager, nsIDownload, nsIWebProgressListener