Visit Mozilla.org

nsIObserverService

出典: MDC

« XPCOM API Reference

目次

[編集] 概要

nsIObserverService インタフェースは、様々な通知を受けるオブザーバを追加、削除、通知、列挙するためのメソッドを提供します。 nsIObserverServicexpcom/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 nsIObserver anObserver, in string aTopic, in boolean ownsWeak);
void removeObserver( in nsIObserver anObserver, in string aTopic );
void notifyObservers( in nsISupports aSubject, in string aTopic, in wstring someData );
nsISimpleEnumerator enumerateObservers( in string aTopic );

[編集] メソッド

[編集] addObserver()

特定のトピックに関する通知を受けるために指定したリスナーの登録を行います。

 void addObserver( in nsIObserver anObserver,
                   in string aTopic,
                   in boolean ownsWeak);
[編集] 引数
anObserver
通知を受けるインタフェースポインタ。
aTopic
通知のトピックまたはサブジェクト。
ownsWeak
false に設定した場合、nsIObserverServiceanObserver に対する強力な参照を保持します。true に設定し、なおかつ anObservernsIWeakReference インタフェースをサポートしている場合、弱い参照が保持されます。そうでない場合、エラーが返されます。

[編集] 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
通知のトピックまたはサブジェクト。
[編集] 戻り値

登録されたすべてのリスナの列挙を返します。

[編集] 関連記事