一つのステップを持つジョブを実行するためのクラスです。 [詳解]
#include <OnlineCore/src/Core/SingleStepJob.h>
公開メンバ関数 | |
SingleStepJob () | |
コンストラクタです。 [詳解] | |
virtual | ~SingleStepJob () |
デストラクタです。 [詳解] | |
RefCountedObject * | AcquireRef () |
参照カウントを 1 増加させます。 | |
virtual void | OnCancelled () |
ジョブがキャンセルされた場合にコールバックされます。 [詳解] | |
virtual qBool | OnStep (qResult *result)=0 |
ジョブの進行状況をチェックする関数です。オーバーライドしてジョブが完了した場合に true を返してください。 [詳解] | |
void | ReleaseRef () |
参照カウントを 1 減少させます。0 になるときに自分自身を delete します。 | |
qBool | Start (CallContext *pContext, qBool deleteOnCompletion=false) |
ジョブを開始します。 [詳解] | |
静的公開変数類 | |
static const qUnsignedInt32 | DELAY_TIME_MSEC = 16 |
SingleStepJob::OnStep() が実行される間隔(ミリ秒)です。 | |
一つのステップを持つジョブを実行するためのクラスです。
nn::nex::SingleStepJob::SingleStepJob | ( | ) |
コンストラクタです。
|
virtual |
デストラクタです。
qBool nn::nex::SingleStepJob::Start | ( | CallContext * | pContext, |
qBool | deleteOnCompletion = false |
||
) |
ジョブを開始します。
Scheduler にジョブを登録し、処理を開始します。 登録されたジョブは、 DELAY_TIME_MSEC ミリ秒毎に SingleStepJob::OnStep() により実行状況がチェックされます。
[in,out] | pContext | ジョブの実行状況を管理するための情報です。 |
[in] | deleteOnCompletion | ジョブが完了した時点で自身をdeleteするかどうか。 |
true 非同期処理の開始に成功。
false 指定した pContext の状態が CallContext::CallInProgress となっており非同期処理を開始出来ない。 これは他の非同期処理で使用中であることを示します。 プログラミングエラーであるため、このケースはリリースビルド以外では内部で Assert により停止します。
ジョブの進行状況をチェックする関数です。オーバーライドしてジョブが完了した場合に true を返してください。
false 返すと SingleStepJob::DELAY_TIME_MSEC 後に再度本関数が呼び出されます。 処理が完了して返値に true を指定するときにジョブの処理結果を result に格納してください。
[out] | result | 処理結果 |
|
virtual |
ジョブがキャンセルされた場合にコールバックされます。
キャンセルされたときに特別な処理が必要な場合はオーバーライドしてください。