前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework 4.1
SFXTask
タスクの操作を行うクラスです。
#include <SFXTask.h.hpp>
class SFXTask;
SFMTYPEDEFCLASS(SFXTask)

協調図

SFXTask クラスの協調図

解説

SFXTask クラスはマルチ タスクの処理を実現するときに使います。

class MyClass {
private:
    SFXTimer _task; 
public:
    Void Function(Void);
    CALLBACK_DECLARE_SFXTASK(OnTask)
};

Void MyClass::Function(Void) 
{

    ...

    // タスクの登録に必要な情報を設定する
    _task.Set(CALLBACK_FUNCTION(OnTask));

    /// タスクを登録する
    _task.Schedule();
}

/// コールバック関数
CALLBACK_IMPLEMENT_SFXTASK(MyClass, OnTask) 
{
    ...
}

参照

SFXCallback | SFXTimer

メンバ

コンストラクタ/デストラクタ
SFXTask( Void )
SFXTask クラスのコンストラクタです。
~SFXTask( Void )
SFXTask クラスのデストラクタです。
パブリック関数
Void Cancel( Void )
登録されたタスクをキャンセルします。
static
SFXTaskConstRef
EmptyInstance( Void )
空のタスクを取得します。
SFXCallback::CallbackSPP GetProcedure( Void )
タスクに設定されたコールバック関数を取得します。
VoidPtr GetReference( Void )
タスクに設定されたユーザーデータを取得します。
Bool IsValid( Void )
タスクが登録されているか判定します。
SFCError Schedule( Void )
タスクを登録します。
Void Set( SFXCallback::CallbackSPP spp , VoidPtr reference )
タスクの登録に必要な情報を設定します。

SFXTask::SFXTask
SFXTask クラスのコンストラクタです。
[ public, explicit ]
SFXTask(Void);

SFXTask::~SFXTask
SFXTask クラスのデストラクタです。
[ public ]
~SFXTask(Void);

解説

デストラクタでは登録されたタスクのキャンセルを行います。

参照

SFXTask::Cancel


SFXTask::Cancel
登録されたタスクをキャンセルします。
[ public ]
Void Cancel(Void);

解説

登録されたタスクをキャンセルします。タスクが登録されていない場合は何も行いません。

参照

SFXTask::Set | SFXTask::Schedule


SFXTask::EmptyInstance
空のタスクを取得します。
[ public, static ]
SFXTaskConstRef EmptyInstance(Void);

解説

空のタスクを表すインスタンスを取得します。


SFXTask::GetProcedure
タスクに設定されたコールバック関数を取得します。
[ public, const ]
SFXCallback::CallbackSPP GetProcedure(Void);

戻り値

タスクに設定されたコールバック関数を返します。

参照

SFXTask::GetReference | SFXTask::Set


SFXTask::GetReference
タスクに設定されたユーザーデータを取得します。
[ public, const ]
VoidPtr GetReference(Void);

戻り値

タスクに設定されたユーザーデータを返します。

参照

SFXTask::GetProcedure | SFXTask::Set


SFXTask::IsValid
タスクが登録されているか判定します。
[ public, const ]
Bool IsValid(Void);

戻り値

  • 登録されているとき : true
  • 登録されていないとき : false

参照

SFXTask::Schedule


SFXTask::Schedule
タスクを登録します。
[ public ]
SFCError Schedule(Void);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • 失敗したとき : SFERR_FAILED

解説

タスクを登録すると、イベントループが次回呼び出されたときにタスクに設定されたコールバック関数が呼び出されます。

タスクが登録済みの場合は一度キャンセルされ再登録されます。

参照

SFXTask::Cancel | SFXTask::Set


SFXTask::Set
タスクの登録に必要な情報を設定します。
[ public ]
Void Set(
    SFXCallback::CallbackSPP spp   // コールバック関数
    VoidPtr reference              // ユーザーデータ
);

参照

SFXTask::GetProcedure | SFXTask::GetReference