SophiaFramework UNIVERSE 5.3 |
SFXTimer クラスは、 タイマー(指定時間が経過したときに処理を実行させるコールバック)を扱うためのクラスです。
SFXTimer クラスは、以下の手順で使用します。
内部の実装 | |
---|---|
SFXTimer クラスは、SFXCallback クラスを利用して実装されています。 タイマーのスケジュール(コールバックの登録)は、 内部で BREW API ISHELL_SetTimerEx 関数を呼び出して行います。 |
class MyClass { private: SFXTimer _timer; public: Void Function(Void); XALLBACK_DECLARE_SFXTIMER(TimerCallback) }; Void MyClass::Function(Void) { ... // タイマーのスケジュールに必要な情報を設定する // ※ TimerCallback 関数と TimerCallback 関数に渡すデータ)を設定する _timer.Set(XALLBACK_INTERNAL(TimerCallback)); // タイマーをスケジュールする // ※ 4000 ミリ秒後に TimerCallback 関数が呼び出される _timer.Schedule(4000); } // 指定時間経過後に BREW 環境から呼び出されるコールバック関数 XALLBACK_IMPLEMENT_SFXTIMER(MyClass, TimerCallback) { ... }
コンストラクタ/デストラクタ |
---|
SFXTimer( Void ) SFXTimer クラスのコンストラクタです。
|
~SFXTimer( Void ) SFXTimer クラスのデストラクタです。
|
パブリック関数 | |
---|---|
Void |
Cancel( Void ) タイマーをキャンセルします。
|
static SFXTimerConstRef |
EmptyInstance( Void ) 空のタイマーを取得します。
|
SFXCallback::CallbackSPP |
GetProcedure( Void ) タイマーに設定したコールバック関数を取得します。
|
VoidPtr |
GetReference( Void ) タイマーに設定したコールバック関数に渡すデータを取得します。
|
Bool |
IsValid( Void ) タイマーがスケジュール済みか判定します。
|
SFCError |
Schedule(
UInt32 msec
) タイマーをスケジュールします。
|
Void |
Set(
SFXCallback::CallbackSPP spp
, VoidPtr reference
) タイマーを設定します。
|
[ public, explicit ] SFXTimer(Void);
このコンストラクタは、何も行いません。
[ public ] ~SFXTimer(Void);
このデストラクタは、 内部的に SFXTimer::Cancel 関数を呼び出し、 タイマーのスケジュールをキャンセルします。
[ public ] Void Cancel(Void);
この関数は、タイマーのスケジュール(コールバックの登録)をキャンセルします。
SFXTimer::Schedule 関数を使用してスケジュールしたタイマーをキャンセルします。 タイマーがスケジュールされていない場合は、何も行いません。
Tip | |
---|---|
サスペンド時は、 この関数を呼び出してタイマーのスケジュール(コールバックの登録)をキャンセルすることを推奨します。 |
注意 | |
---|---|
この関数は、SFXTimer::~SFXTimer デストラクタから呼び出されます。 |
注意 | |
---|---|
この関数は、内部で SFXCallback::Cancel 関数を呼び出します。 |
[ public, static ] SFXTimerConstRef EmptyInstance(Void);
[ public, const ] SFXCallback::CallbackSPP GetProcedure(Void);
タイマーに設定したコールバック関数
この関数は、 SFXTimer::Set 関数を使用してタイマーに設定したコールバック関数を取得します。
注意 | |
---|---|
この関数は、内部で SFXCallback::GetProcedure 関数を呼び出します。 具体的には、 このタイマーが内部で保持する BREW API AEECallback 構造体の pfnNotify メンバに設定されている値を返します。 |
[ public, const ] VoidPtr GetReference(Void);
タイマーに設定したコールバック関数に渡すデータ
この関数は、 SFXTimer::Set 関数を使用してタイマーに設定したコールバック関数に渡すデータを取得します。
注意 | |
---|---|
この関数は、内部で SFXCallback::GetReference 関数を呼び出します。 具体的には、 このタイマーが内部で保持する BREW API AEECallback 構造体の pNotifyData メンバに設定されている値を返します。 |
[ public, const ] Bool IsValid(Void);
この関数は、 このタイマーが SFXTimer::Schedule 関数を呼び出してスケジュール済みか判定します。
注意 | |
---|---|
この関数は、内部で SFXCallback::IsQueued 関数を呼び出します。 |
この関数は、 タイマーをスケジュールします(AEE シェルにコールバックを登録します)。
タイマーがスケジュール済みの場合は、一旦それをキャンセルし、再スケジュールします。
この関数を実行すると、msec 引数で指定した時間が経過すると、 SFXTimer::Set 関数で設定したコールバック関数が呼び出されます。
注意 | |
---|---|
内部で最初に SFXTimer::Cancel 関数を呼び出して一旦タイマーをキャンセルし、 更に SFBShell::SetTimerEx 関数を呼び出してタイマーを再登録します。 |
前提条件 | |
---|---|
この関数を呼び出す前に、 SFXTimer::Set 関数を使用してタイマーを設定しておく必要があります。 |
[ public ] Void Set( SFXCallback::CallbackSPP spp // コールバック関数 VoidPtr reference // コールバック関数に渡すデータ(参照値) );
この関数は、スケジューリングのために、 タイマー(コールバック関数とコールバック関数に渡すデータ)を設定します。
内部で最初に SFXTimer::Cancel 関数を呼び出すので、 この関数を実行する前にスケジュールされていたタイマーはキャンセルされます。
注意 | |
---|---|
この関数を実行した後に、 SFXTimer::Schedule 関数を呼び出してタイマーをスケジュールします(コールバックを登録します)。 |
注意 | |
---|---|
この関数は、内部で SFXCallback::Set 関数を呼び出して、 引数に指定したコールバック関数とコールバック関数に渡すデータを、 このタイマーが内部で保持する、 BREW API AEECallback 構造体の pfnNotify メンバと pNotifyData メンバに設定します。 |
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |