![]() ![]() ![]()
|
SophiaFramework UNIVERSE 5.0 |

トレーサのリストを管理するクラスです。 このクラスの関数は SFYDistributer クラスと SFYResponder クラスを通して利用され、 開発者が直接操作することはありません。
トレーサ | 配信エンジン | レスポンダツリー | ルートレスポンダ | SFYResponder::RegisterTracer | SFYResponder::UnregisterTracer | SFYResponder::ClearTracer | SFYApplication::RegisterTracer | SFYApplication::UnregisterTracer | SFYApplication::ClearTracer | SFYDistributer | SFYResponder | SFYApplication | SFZRoot | SFXEvent | SFXEventRange
enum OrderEnum {
ORDER_FORWARD = 0, // 前面から配信
ORDER_BACKWARD // 背面から配信
};
SFMTYPEDEFTYPE(OrderEnum)
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));
enum StateEnum {
STATE_ALL = 0, // すべてのレスポンダに配信
STATE_VISIBLE, // 可視のレスポンダに配信
STATE_ACTIVE, // 上述かつ活性のレスポンダに配信
STATE_ENABLE, // 上述かつ操作可能なレスポンダに配信
STATE_FOCUS, // 上述かつフォーカスされているレスポンダに配信
STATE_NONE // 配信しない
};
SFMTYPEDEFTYPE(StateEnum)
|
Copyright(c) 2002 - 2009 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]()
|