Revision 168750 of nsIObserverService

  • リビジョンの URL スラグ: XPCOM_Interface_Reference/nsIObserverService
  • リビジョンのタイトル: nsIObserverService
  • リビジョンの ID: 168750
  • 作成日:
  • 作成者: Kohei
  • 現行リビジョン いいえ
  • コメント 新しいページ: '<breadcrumbs></breadcrumbs> {{xpcomapi}} == 概要 == <code>nsIObserverService</code> インタフェースは、様々な通知を受けるオブザーバを追加、削除、...'

このリビジョンの内容

{{ Xpcomapi() }}

概要

nsIObserverService インタフェースは、様々な通知を受けるオブザーバを追加、削除、通知、列挙するためのメソッドを提供します。 {{ InterfaceStatus("nsIObserverService", "xpcom/ds/nsIObserverService.idl", "FROZEN", "Mozilla 0.9.6", "yes") }} 詳しくは {{ Bug("99163") }} をご覧ください

 #include "nsIObserverService.h"
 [scriptable, uuid=(D07F5192-E3D1-11d2-8ACD-00105A1B8860)]
 interface nsIObserverService : nsISupports { ... };

XPCOM の nsObserverService はこのインタフェースを実装して、様々なサブシステムのためのグローバル通知を提供しています。

メソッドの概要

void addObserver(in {{ Interface("nsIObserver") }} anObserver, in string aTopic, in boolean ownsWeak);
void removeObserver( in {{ Interface("nsIObserver") }} anObserver, in string aTopic );
void notifyObservers( in {{ Interface("nsISupports") }} aSubject, in string aTopic, in wstring someData );
{{ Interface("nsISimpleEnumerator") }} enumerateObservers( in string aTopic );

メソッド

addObserver()

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

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

removeObserver()

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

 void removeObserver( in nsIObserver anObserver,
                      in string aTopic );
引数
<tt>anObserver</tt>
通知を受けるのを停止するインタフェースポインタ。
<tt>aTopic</tt>
通知のトピックまたはサブジェクト。

notifyObservers()

指定されたトピックについて登録されたすべてのリスナーに通知を行います。

 void notifyObservers( in nsISupports aSubject, 
                       in string aTopic, 
                       in wstring someData );
引数
<tt>aSubject</tt>
通知固有のインタフェースポインタ。
<tt>aTopic</tt>
通知のトピックまたはサブジェクト。
<tt>someData</tt>
通知固有のワイド文字列。

enumerateObservers()

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

 nsISimpleEnumerator enumerateObservers( in string aTopic );
引数
<tt>aTopic</tt>
通知のトピックまたはサブジェクト。
戻り値

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

関連記事

{{ languages( { "en": "en/NsIObserverService" } ) }}

このリビジョンのソースコード

<p>
{{ Xpcomapi() }}
</p>
<h3 id=".E6.A6.82.E8.A6.81" name=".E6.A6.82.E8.A6.81"> 概要 </h3>
<p><code>nsIObserverService</code> インタフェースは、様々な通知を受けるオブザーバを追加、削除、通知、列挙するためのメソッドを提供します。
{{ InterfaceStatus("nsIObserverService", "xpcom/ds/nsIObserverService.idl", "FROZEN", "Mozilla 0.9.6", "yes") }} 詳しくは {{ Bug("99163") }} をご覧ください
</p>
<pre class="eval"> #include "nsIObserverService.h"
 [scriptable, uuid=(D07F5192-E3D1-11d2-8ACD-00105A1B8860)]
 interface nsIObserverService : nsISupports { ... };
</pre>
<p>XPCOM の <a href="ja/NsObserverService">nsObserverService</a> はこのインタフェースを実装して、様々なサブシステムのためのグローバル通知を提供しています。
</p>
<h2 id=".E3.83.A1.E3.82.BD.E3.83.83.E3.83.89.E3.81.AE.E6.A6.82.E8.A6.81" name=".E3.83.A1.E3.82.BD.E3.83.83.E3.83.89.E3.81.AE.E6.A6.82.E8.A6.81">メソッドの概要</h2>
<table class="standard-table"> <tbody><tr>
<td> <code>void <a href="#addObserver.28.29">addObserver</a>(in {{ Interface("nsIObserver") }} anObserver, in string aTopic, in boolean ownsWeak);</code>
</td></tr>
<tr>
<td> <code>void <a href="#removeObserver.28.29">removeObserver</a>( in {{ Interface("nsIObserver") }} anObserver, in string aTopic );</code>
</td></tr>
<tr>
<td> <code>void <a href="#notifyObservers.28.29">notifyObservers</a>( in {{ Interface("nsISupports") }} aSubject, in string aTopic, in wstring someData );</code>
</td></tr>
<tr>
<td> <code>{{ Interface("nsISimpleEnumerator") }} enumerateObservers( in string aTopic );</code>
</td></tr>
</tbody></table>
<h2 id=".E3.83.A1.E3.82.BD.E3.83.83.E3.83.89" name=".E3.83.A1.E3.82.BD.E3.83.83.E3.83.89"> メソッド </h2>
<h3 id="addObserver.28.29" name="addObserver.28.29"> addObserver() </h3>
<p>特定のトピックに関する通知を受けるために指定したリスナーの登録を行います。
</p>
<pre class="eval"> void addObserver( in nsIObserver anObserver,
                   in string aTopic,
                   in boolean ownsWeak);
</pre>
<h6 id=".E5.BC.95.E6.95.B0" name=".E5.BC.95.E6.95.B0">引数</h6>
<dl><dt><tt>anObserver</tt>
</dt><dd>通知を受けるインタフェースポインタ。
</dd><dt><tt>aTopic</tt>
</dt><dd>通知のトピックまたはサブジェクト。
</dd><dt><tt>ownsWeak</tt>
</dt><dd><code>false</code> に設定した場合、<code>nsIObserverService</code> は <code>anObserver</code> に対する強力な参照を保持します。<code>true</code> に設定し、なおかつ <code>anObserver</code> が {{ Interface("nsIWeakReference") }} インタフェースをサポートしている場合、弱い参照が保持されます。そうでない場合、エラーが返されます。
</dd></dl>
<h3 id="removeObserver.28.29" name="removeObserver.28.29"> removeObserver() </h3>
<p>特定のトピックに関する通知を受けるために指定したリスナーの登録を解除します。
</p>
<pre class="eval"> void removeObserver( in nsIObserver anObserver,
                      in string aTopic );
</pre>
<h6 id=".E5.BC.95.E6.95.B0_2" name=".E5.BC.95.E6.95.B0_2">引数</h6>
<dl><dt><tt>anObserver</tt>
</dt><dd>通知を受けるのを停止するインタフェースポインタ。
</dd><dt><tt>aTopic</tt>
</dt><dd>通知のトピックまたはサブジェクト。
</dd></dl>
<h3 id="notifyObservers.28.29" name="notifyObservers.28.29"> notifyObservers() </h3>
<p>指定されたトピックについて登録されたすべてのリスナーに通知を行います。
</p>
<pre class="eval"> void notifyObservers( in nsISupports aSubject, 
                       in string aTopic, 
                       in wstring someData );
</pre>
<h6 id=".E5.BC.95.E6.95.B0_3" name=".E5.BC.95.E6.95.B0_3">引数</h6>
<dl><dt><tt>aSubject</tt>
</dt><dd>通知固有のインタフェースポインタ。
</dd><dt><tt>aTopic</tt>
</dt><dd>通知のトピックまたはサブジェクト。
</dd><dt><tt>someData</tt>
</dt><dd>通知固有のワイド文字列。
</dd></dl>
<h3 id="enumerateObservers.28.29" name="enumerateObservers.28.29"> enumerateObservers() </h3>
<p>登録されたすべてのリスナの列挙を返します。
</p>
<pre class="eval"> nsISimpleEnumerator enumerateObservers( in string aTopic );
</pre>
<h6 id=".E5.BC.95.E6.95.B0_4" name=".E5.BC.95.E6.95.B0_4">引数</h6>
<dl><dt><tt>aTopic</tt>
</dt><dd>通知のトピックまたはサブジェクト。
</dd></dl>
<h6 id=".E6.88.BB.E3.82.8A.E5.80.A4" name=".E6.88.BB.E3.82.8A.E5.80.A4">戻り値</h6>
<p>登録されたすべてのリスナの列挙を返します。
</p>
<h3 id=".E9.96.A2.E9.80.A3.E8.A8.98.E4.BA.8B" name=".E9.96.A2.E9.80.A3.E8.A8.98.E4.BA.8B"> 関連記事 </h3>
<ul><li> <a href="ja/NsObserverService">nsObserverService</a>
</li><li> <a href="ja/Observer_Notifications">Observer Notifications</a>: オブザーバの概要と、Mozilla によって行われる組み込みの通知の一覧が掲載されています。
</li></ul>
{{ languages( { "en": "en/NsIObserverService" } ) }}
このリビジョンへ戻す