nsIDownloadProgressListener

by 2 contributors:

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

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

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

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


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

継承元: 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
 );
引数
<tt>aState</tt>
ダウンロードの変更前の状況。取り得る値の一覧nsIDownloadManager を参照してください。
<tt>aDownload</tt>
ダウンロード状況に変更があったファイルを表す nsIDownload オブジェクト。このオブジェクトから、ダウンロードの変更後の状況を取得できます。

onStateChange()

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

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

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

onStatusChange()

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

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

onLocationChange()

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

onSecurityChange()

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

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

関連記事

nsIDownloadManager, nsIDownload, nsIWebProgressListener

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

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