nsIObserverService
出典: MDC
目次 |
[編集] 概要
nsIObserverService インタフェースは、様々な通知を受けるオブザーバを追加、削除、通知、列挙するためのメソッドを提供します。
nsIObserverService は xpcom/ds/nsIObserverService.idl で定義されています。これは scriptable で
Mozilla 0.9.6 から凍結されています。 詳しくは bug 99163 をご覧ください
#include "nsIObserverService.h"
[scriptable, uuid=(D07F5192-E3D1-11d2-8ACD-00105A1B8860)]
interface nsIObserverService : nsISupports { ... };
XPCOM の nsObserverService はこのインタフェースを実装して、様々なサブシステムのためのグローバル通知を提供しています。
[編集] メソッドの概要
void addObserver(in
|
void removeObserver( in
|
void notifyObservers( in
|
|
[編集] メソッド
[編集] addObserver()
特定のトピックに関する通知を受けるために指定したリスナーの登録を行います。
void addObserver( in nsIObserver anObserver,
in string aTopic,
in boolean ownsWeak);
[編集] 引数
- anObserver
- 通知を受けるインタフェースポインタ。
- aTopic
- 通知のトピックまたはサブジェクト。
- ownsWeak
falseに設定した場合、nsIObserverServiceはanObserverに対する強力な参照を保持します。trueに設定し、なおかつanObserverがnsIWeakReferenceインタフェースをサポートしている場合、弱い参照が保持されます。そうでない場合、エラーが返されます。
[編集] removeObserver()
特定のトピックに関する通知を受けるために指定したリスナーの登録を解除します。
void removeObserver( in nsIObserver anObserver,
in string aTopic );
[編集] 引数
- anObserver
- 通知を受けるのを停止するインタフェースポインタ。
- aTopic
- 通知のトピックまたはサブジェクト。
[編集] notifyObservers()
指定されたトピックについて登録されたすべてのリスナーに通知を行います。
void notifyObservers( in nsISupports aSubject,
in string aTopic,
in wstring someData );
[編集] 引数
- aSubject
- 通知固有のインタフェースポインタ。
- aTopic
- 通知のトピックまたはサブジェクト。
- someData
- 通知固有のワイド文字列。
[編集] enumerateObservers()
登録されたすべてのリスナの列挙を返します。
nsISimpleEnumerator enumerateObservers( in string aTopic );
[編集] 引数
- aTopic
- 通知のトピックまたはサブジェクト。
[編集] 戻り値
登録されたすべてのリスナの列挙を返します。
[編集] 関連記事
- nsObserverService
- Observer Notifications: オブザーバの概要と、Mozilla によって行われる組み込みの通知の一覧が掲載されています。