#include <SerializeEventDispatcher.h>
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 | イベント情報。 |
Sapie::CEventDispatcherを実装しています。
long Sapie::CSerializeEventDispatcher::Sync | ( | long | lReqIdNo | ) |
非同期要求同期化
引数に指定された要求識別番号の非同期要求に対して、EVTYP_COMPLETE 種別のイベントが発生する までスレッドをブロックする。非同期要求を同期化する場合に利用する。
このメソッドを呼び出してブロックしているスレッドが、 CSerializeEventDispatcher からのコールバックされた スレッドである場合は、このメソッドを呼び出している間別のコールバックが発生する。
[in] | lReqIdNo | 完了を待機する非同期要求の要求識別番号。0を指定した場合はこの関数はエラー完了する。 |
long Sapie::CSerializeEventDispatcher::Sync | ( | long | lReqIdNo, | |
long | lTimeout | |||
) |
非同期要求同期化
引数に指定された要求識別番号の非同期要求に対して、EVTYP_COMPLETE 種別のイベントが発生する までスレッドをブロックする。非同期要求を同期化する場合に利用する。
このメソッドを呼び出してブロックしているスレッドが、 CSerializeEventDispatcher からのコールバックされた スレッドである場合は、このメソッドを呼び出している間別のコールバックが発生する。
[in] | lReqIdNo | 完了を待機する非同期要求の要求識別番号。0を指定した場合はこの関数はエラー完了する。 |
[in] | lTimeout | タイムアウト時間。単位はミリ秒。指定したイベントが発生しない場合でも時間経過した場合はメソッドを抜ける。 |
long Sapie::CSerializeEventDispatcher::Sync | ( | long | lReqIdNo, | |
EventType | type, | |||
long | lTimeout | |||
) |
非同期要求同期化
引数に指定された要求識別番号の非同期要求に対して、指定された種別のイベントが発生する までスレッドをブロックする。非同期要求を同期化する場合に利用する。
[in] | lReqIdNo | 完了を待機する非同期要求の要求識別番号。0を指定した場合はこの関数はエラー完了する。 |
[in] | type | 待機するイベントの種別。 EVTYP_NULL を指定した場合は、すべての種別を指定して待機する。 |
[in] | lTimeout | タイムアウト時間。単位はミリ秒。指定したイベントが発生しない場合でも時間経過した場合はメソッドを抜ける。 |
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*) メソッドを用いて返却すること。 |
long Sapie::CSerializeEventDispatcher::WaitForEvent | ( | WaitEventList | waitList, | |
long | lTimeout, | |||
ReceiveEventList & | evList | |||
) |
イベント待ち
引数に指定されたすべてのイベントが発生するまでスレッドをブロックする。 引数で指定したイベントが発生した場合は、 evList に受け取ったイベントの情報が格納される。 このイベントは、必ず Release(ReceiveEventList&) メソッドを用いて返却する必要がある。
このメソッドを呼び出してブロックしているスレッドが、 CSerializeEventDispatcher からのコールバックされた スレッドである場合は、このメソッドを呼び出している間別のコールバックが発生する。
[in] | waitList | 待機するイベントの情報を格納したリスト。 |
[in] | lTimeout | タイムアウト時間。単位はミリ秒。指定したイベントが発生しない場合でも時間経過した場合はメソッドを抜ける。 |
[out] | evList | 受信したイベント情報。必ず Release(const CEventInfo*) メソッドを用いて返却すること。 |
long Sapie::CSerializeEventDispatcher::Sleep | ( | long | t | ) |
スリープ
引数に指定された時間スレッドをブロックする。
このメソッドを呼び出してブロックしているスレッドが、 CSerializeEventDispatcher からのコールバックされた スレッドである場合は、このメソッドを呼び出している間別のコールバックが発生する。
[in] | t | スリープ時間。単位はミリ秒。 |
long Sapie::CSerializeEventDispatcher::Release | ( | const CEventInfo * | pInfo | ) |
イベント情報返却
WaitForEvent() により受け取ったイベント情報を返却する。
[in] | pInfo | 返却するイベント情報。 |
long Sapie::CSerializeEventDispatcher::Release | ( | ReceiveEventList & | evList | ) |
イベント情報返却
WaitForEvent() により受け取ったイベント情報を返却する。
[in] | evList | 返却するイベント情報リスト。 |
void Sapie::CSerializeEventDispatcher::SetReceiveEventListener | ( | T * | obj, | |
void(T::*)(const CEventInfo *evInfo) | cbf | |||
) | [inline] |
イベントコールバック関数登録。
obj | 完了イベントを通知するオブジェクトを指定する。 | |
cbf | 完了イベントを通知するメソッドを指定する。 |