クラス Sapie::CSerializeEventDispatcher

イベントシリアライズディスパッチャクラス [詳細]

#include <SerializeEventDispatcher.h>

Sapie::CSerializeEventDispatcherに対する継承グラフ

Sapie::CEventDispatcher

Public メソッド

 CSerializeEventDispatcher ()
 コンストラクタ
virtual ~CSerializeEventDispatcher ()
 デストラクタ
virtual long RegisterEvent (CEventInfo *evInfo)
 イベントを登録する。
long Sync (long lReqIdNo)
 非同期要求同期化
long Sync (long lReqIdNo, long lTimeout)
 非同期要求同期化
long Sync (long lReqIdNo, EventType type, long lTimeout)
 非同期要求同期化
long WaitForEvent (EventType type, long lReqIdNo, long lTimeout, const CEventInfo *&evInfo)
 イベント待ち
long WaitForEvent (WaitEventList waitList, long lTimeout, ReceiveEventList &evList)
 イベント待ち
long Sleep (long t)
 スリープ
long Release (const CEventInfo *pInfo)
 イベント情報返却
long Release (ReceiveEventList &evList)
 イベント情報返却
template<class T>
void SetReceiveEventListener (T *obj, void(T::*cbf)(const CEventInfo *evInfo))
 イベントコールバック関数登録。

説明

イベントシリアライズディスパッチャクラス

関数

virtual long Sapie::CSerializeEventDispatcher::RegisterEvent ( CEventInfo evInfo  )  [virtual]

イベントを登録する。

制御クラスからコールされる。新たに発生したイベントの登録を行う。 イベントディスパッチャクラスでは、このメソッドを通じて受け取った イベントをアプリケーションへ通知するための仕組みを提供する。

引数:
[in] evInfo イベント情報。
戻り値:
イベントIDまたは、イベントの受付状況を返す。
  • 1以上:イベントIDを示す。イベントは遅れてアプリへ通知される。 イベント処理が完了した時点で各制御クラスへイベントで通知される。
  • 0: 関数の完了時点でイベント処理がすべて完了していることを表す。
  • -1以下: 何らかの原因でアプリへのイベント通知が行われなかったことを表す。

Sapie::CEventDispatcherを実装しています。

long Sapie::CSerializeEventDispatcher::Sync ( long  lReqIdNo  ) 

非同期要求同期化

引数に指定された要求識別番号の非同期要求に対して、EVTYP_COMPLETE 種別のイベントが発生する までスレッドをブロックする。非同期要求を同期化する場合に利用する。

このメソッドを呼び出してブロックしているスレッドが、 CSerializeEventDispatcher からのコールバックされた スレッドである場合は、このメソッドを呼び出している間別のコールバックが発生する。

引数:
[in] lReqIdNo 完了を待機する非同期要求の要求識別番号。0を指定した場合はこの関数はエラー完了する。
戻り値:
処理の結果(エラーコード)
  • 0: 正常にイベント待ちが完了
  • 0以外: タイムアウトが発生した、または、lReqIdNo で指定した要求が存在しなかった等の理由により、 イベント待ちが正常に完了しなかった。
バージョン:
2.0β以降

long Sapie::CSerializeEventDispatcher::Sync ( long  lReqIdNo,
long  lTimeout 
)

非同期要求同期化

引数に指定された要求識別番号の非同期要求に対して、EVTYP_COMPLETE 種別のイベントが発生する までスレッドをブロックする。非同期要求を同期化する場合に利用する。

このメソッドを呼び出してブロックしているスレッドが、 CSerializeEventDispatcher からのコールバックされた スレッドである場合は、このメソッドを呼び出している間別のコールバックが発生する。

引数:
[in] lReqIdNo 完了を待機する非同期要求の要求識別番号。0を指定した場合はこの関数はエラー完了する。
[in] lTimeout タイムアウト時間。単位はミリ秒。指定したイベントが発生しない場合でも時間経過した場合はメソッドを抜ける。
戻り値:
処理の結果(エラーコード)
  • 0: 正常にイベント待ちが完了
  • 0以外: タイムアウトが発生した、または、lReqIdNo で指定した要求が存在しなかった等の理由により、 イベント待ちが正常に完了しなかった。
バージョン:
2.0β以降

long Sapie::CSerializeEventDispatcher::Sync ( long  lReqIdNo,
EventType  type,
long  lTimeout 
)

非同期要求同期化

引数に指定された要求識別番号の非同期要求に対して、指定された種別のイベントが発生する までスレッドをブロックする。非同期要求を同期化する場合に利用する。

引数:
[in] lReqIdNo 完了を待機する非同期要求の要求識別番号。0を指定した場合はこの関数はエラー完了する。
[in] type 待機するイベントの種別。 EVTYP_NULL を指定した場合は、すべての種別を指定して待機する。
[in] lTimeout タイムアウト時間。単位はミリ秒。指定したイベントが発生しない場合でも時間経過した場合はメソッドを抜ける。
戻り値:
処理の結果(エラーコード)
  • 0: 正常にイベント待ちが完了
  • 0以外: タイムアウトが発生した、または、lReqIdNo で指定した要求が存在しなかった等の理由により、 イベント待ちが正常に完了しなかった。
バージョン:
3.4以降

long Sapie::CSerializeEventDispatcher::WaitForEvent ( EventType  type,
long  lReqIdNo,
long  lTimeout,
const CEventInfo *&  evInfo 
)

イベント待ち

引数に指定されたイベントが発生するまでスレッドをブロックする。 引数で指定したイベントが発生した場合は、 evInfo に受け取ったイベントの情報が格納される。 このイベントは、必ず Release(const CEventInfo*) メソッドを用いて返却する必要がある。

このメソッドを呼び出してブロックしているスレッドが、 CSerializeEventDispatcher からのコールバックされた スレッドである場合は、このメソッドを呼び出している間別のコールバックが発生する。

引数:
[in] type 待機するイベントの種別。 EVTYP_NULL を指定した場合は、すべての種別を指定して待機する。
[in] lReqIdNo 待機するイベントに紐付けられた非同期要求の要求識別番号。0を指定した場合は、任意の要求識別番号のイベントを待機する。
[in] lTimeout タイムアウト時間。単位はミリ秒。指定したイベントが発生しない場合でも時間経過した場合はメソッドを抜ける。
[out] evInfo 受信したイベント情報。必ず Release(const CEventInfo*) メソッドを用いて返却すること。
戻り値:
処理の結果(エラーコード)
  • 0: 正常にイベント待ちが完了
  • 0以外: タイムアウトが発生した、または、lReqIdNo で指定した要求が存在しなかった等の理由により、 イベント待ちが正常に完了しなかった。

long Sapie::CSerializeEventDispatcher::WaitForEvent ( WaitEventList  waitList,
long  lTimeout,
ReceiveEventList evList 
)

イベント待ち

引数に指定されたすべてのイベントが発生するまでスレッドをブロックする。 引数で指定したイベントが発生した場合は、 evList に受け取ったイベントの情報が格納される。 このイベントは、必ず Release(ReceiveEventList&) メソッドを用いて返却する必要がある。

このメソッドを呼び出してブロックしているスレッドが、 CSerializeEventDispatcher からのコールバックされた スレッドである場合は、このメソッドを呼び出している間別のコールバックが発生する。

引数:
[in] waitList 待機するイベントの情報を格納したリスト。
[in] lTimeout タイムアウト時間。単位はミリ秒。指定したイベントが発生しない場合でも時間経過した場合はメソッドを抜ける。
[out] evList 受信したイベント情報。必ず Release(const CEventInfo*) メソッドを用いて返却すること。
戻り値:
処理の結果(エラーコード)
  • 0: 正常にイベント待ちが完了
  • 0以外: タイムアウトが発生した、または、lReqIdNo で指定した要求が存在しなかった等の理由により、 イベント待ちが正常に完了しなかった。

long Sapie::CSerializeEventDispatcher::Sleep ( long  t  ) 

スリープ

引数に指定された時間スレッドをブロックする。

このメソッドを呼び出してブロックしているスレッドが、 CSerializeEventDispatcher からのコールバックされた スレッドである場合は、このメソッドを呼び出している間別のコールバックが発生する。

引数:
[in] t スリープ時間。単位はミリ秒。
戻り値:
処理の結果(エラーコード)
  • 0: 正常にスリープが完了
  • 0以外: 正常に完了しなかった

long Sapie::CSerializeEventDispatcher::Release ( const CEventInfo pInfo  ) 

イベント情報返却

WaitForEvent() により受け取ったイベント情報を返却する。

引数:
[in] pInfo 返却するイベント情報。
戻り値:
処理の結果(エラーコード)
  • 0: 正常に返却が完了
  • 0以外: 正常に完了しなかった

long Sapie::CSerializeEventDispatcher::Release ( ReceiveEventList evList  ) 

イベント情報返却

WaitForEvent() により受け取ったイベント情報を返却する。

引数:
[in] evList 返却するイベント情報リスト。
戻り値:
処理の結果(エラーコード)
  • 0: 正常に返却が完了
  • 0以外: 正常に完了しなかった

template<class T>
void Sapie::CSerializeEventDispatcher::SetReceiveEventListener ( T *  obj,
void(T::*)(const CEventInfo *evInfo)  cbf 
) [inline]

イベントコールバック関数登録。

引数:
obj 完了イベントを通知するオブジェクトを指定する。
cbf 完了イベントを通知するメソッドを指定する。


このクラスの説明は次のファイルから生成されました:

SAPIに対してFri Aug 2 21:58:33 2013に生成されました。  doxygen 1.5.5