template <class EventType> class TJEventListener
イベントリスナ
継承:
文書
イベントリスナ.各種イベントのリスナ(受信者)の実装を支援するためのテンプレートであり, イベントを型引数としている.EventSource と組で,Java のイベントモデル java.util.EventObject / java.util.EventListener をサポートする.
C++ のテンプレートとして Event を扱うため,メソッドの多重定義を利用して, すべてのイベント処理メソッドは,eventHappend という名前になる.
イベント処理メソッド eventHappened() は pure virtual でありインタフェース のみの規定.アプリケーションで実装するコールバックである.
使用例は,TJEventSource を見よ.
[ロック方針]
このクラスは,マルチスレッドに関するロックを全く意識しない. 必要であれば TJSafeEventListener を見よ.
eventHappened() はスレッドの設計にも依存するが,一般には非同期呼出しの対策 が必要である(たとえば UNIX のシグナルハンドラを連想せよ.) このクラスまたはサブクラスのオブジェクトでマルチスレッド環境でも安全にオブ ジェクト操作したければ TJSafeEventListener と TJSafeEventSource を使うこと.
- virtual ~TJEventListener()
- デストラクタ
- virtual bool isSafe()
スレッドセーフなものかどうかの検査.
このクラス自身では false である. EventSource が fireEvent を行う際,このメソッド の返り値に応じて eventHappend/safeEvnetHappend を呼び分ける.
- 返す値 :
- true スレッドセーフ
- 直接の子クラス:
- TJSafeEventListener
- 作者 :
- tokui @date 1999,3/31
- 参照 :
- TJSafeEventListener
TJEventSource
索引(アルファベット順) HTMLクラス継承 または Java
This page was generated with the help of DOC++.