前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFYTracer
トレーサを管理するクラスです。
#include <SFYTracer.h.hpp>
class SFYTracer;
SFMTYPEDEFCLASS(SFYTracer)

協調図

SFYTracer クラスの協調図

解説

トレーサのリストを管理するクラスです。 このクラスの関数は SFYDistributer クラスと SFYResponder クラスを通して利用され、 開発者が直接操作することはありません。

参照

トレーサ | 標準トレーサ | 配信エンジン | レスポンダツリー | ルートレスポンダ | SFYResponder::RegisterTracer | SFYResponder::UnregisterTracer | SFYResponder::ClearTracer | SFYDistributer | SFYResponder | SFZRoot | SFXEvent | SFXEventRange

メンバ

OrderEnum
イベントの処理順序を表します。
RuleRec
処理順序と配信条件と重複条件のセットを表します。
StateEnum
子レスポンダへの配信条件を表します。

SFYTracer::OrderEnum
イベントの処理順序を表します。
enum OrderEnum {
    ORDER_FORWARD  = 0,    // イベントは前面から背面の順に処理される
    ORDER_BACKWARD         // イベントは背面から前面の順に処理される
};
SFMTYPEDEFTYPE(OrderEnum)

解説

トレーサの配信規則における、イベントの処理順序を表します。

ORDER_FORWARD の場合、 イベントは前面に配置されたレスポンダから順に配信され、 最後に登録されたハンドラから順に起動されます。

ORDER_BACKWARD の場合、 イベントは背面に配置されたレスポンダから順に配信され、 最初に登録されたハンドラから順に起動されます。

参照

トレーサ | 標準トレーサ


SFYTracer::RuleRec
処理順序と配信条件と重複条件のセットを表します。
SFMTYPEDEFSTRUCT(RuleRec)
struct RuleRec {
    OrderEnum    order;       // 処理順序
    StateEnum    state;       // 配信条件
    Bool         overload;    // 重複条件
};

解説

トレーサの配信規則における、処理順序と配信条件と重複条件のセットを表します。

SFYDistributer::RegisterTracer 関数や SFYResponder::RegisterTracer 関数で利用する構造体です。

使用例

以下は、複数のトレーサをまとめて登録するコードです。

static SFXEventRange::AtomRecConst range[] = {
    {            SFEVT_APP_START,           SFEVT_APP_START, SFP16_BEGIN, SFP16_END},
    {             SFEVT_APP_STOP,            SFEVT_APP_STOP, SFP16_BEGIN, SFP16_END},
    {           SFEVT_APP_RESUME,          SFEVT_APP_RESUME, SFP16_BEGIN, SFP16_END},
    {          SFEVT_APP_SUSPEND,         SFEVT_APP_SUSPEND, SFP16_BEGIN, SFP16_END}
};
static SFYTracer::RuleRecConst rule[lengthof(range)] = {
    {  SFYTracer::ORDER_BACKWARD,      SFYTracer::STATE_ALL,        true},
    {   SFYTracer::ORDER_FORWARD,      SFYTracer::STATE_ALL,        true},
    {  SFYTracer::ORDER_BACKWARD,      SFYTracer::STATE_ALL,        true},
    {   SFYTracer::ORDER_FORWARD,      SFYTracer::STATE_ALL,        true}
};
SFCError error;

error = RegisterTracer(atomic_cast(range), rule, lengthof(range));

参照

SFYDistributer::RegisterTracer | SFYResponder::RegisterTracer | トレーサ | 標準トレーサ


SFYTracer::StateEnum
子レスポンダへの配信条件を表します。
enum StateEnum {
    STATE_ALL     = 0,    // 有効状態が ON であるレスポンダに配信する
    STATE_VISIBLE,        // 可視状態が ON であるレスポンダに配信する
    STATE_ACTIVE,         // 活性状態が ON であるレスポンダに配信する
    STATE_ENABLE,         // 操作可能状態が ON であるレスポンダに配信する
    STATE_FOCUS,          // フォーカス状態が ON であるレスポンダに配信する
    STATE_NONE            // イベントをレスポンダに配信しない
};
SFMTYPEDEFTYPE(StateEnum)

解説

トレーサの配信規則における、子レスポンダへの配信条件を表します。

有効状態、可視状態、活性状態、操作可能状態、フォーカス状態については、 状態を参照してください。

参照

状態 | トレーサ | 標準トレーサ