前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFRHandler
ハンドラ管理用の内部クラスです。
#include <SFRHandler.hpp>
class SFRHandler : public SFRTracer;
SFMTYPEDEFCLASS(SFRHandler)

継承図

SFRHandler クラスの継承図

協調図

SFRHandler クラスの協調図

解説

SophiaFramework UNIVERSE の内部で使います。

参照

イベント ハンドリング

メンバ

コンストラクタ/デストラクタ
SFRHandler( Void )
SFRHandler クラスのコンストラクタです。
~SFRHandler( Void )
SFRHandler クラスのデストラクタです。
パブリック関数
SFCError RegisterHandler( HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref )
ハンドラを登録します。
SFCError RegisterHandler( SFCEventEnum type , HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref )
ハンドラを登録します。
SFCError RegisterHandler( SFCEventEnum type , UInt16 p16 , HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref )
ハンドラを登録します。
SFCError RegisterHandler( SFCEventEnum type , UInt16 bp16 , UInt16 ep16 , HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref )
ハンドラを登録します。
SFCError RegisterHandler( SFCEventEnum btype , SFCEventEnum etype , HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref )
ハンドラを登録します。
SFCError RegisterHandler( SFCEventEnum btype , SFCEventEnum endType , UInt16 p16 , HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref )
ハンドラを登録します。
SFCError RegisterHandler( SFCEventEnum btype , SFCEventEnum etype , UInt16 bp16 , UInt16 ep16 , HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref )
ハンドラを登録します。
Void UnregisterHandler( HandlerEnum timing )
登録されているハンドラを削除します。
Void UnregisterHandler( SFCEventEnum type , HandlerEnum timing )
登録されているハンドラを削除します。
Void UnregisterHandler( SFCEventEnum type , UInt16 p16 , HandlerEnum timing )
登録されているハンドラを削除します。
Void UnregisterHandler( SFCEventEnum type , UInt16 bgnP16 , UInt16 endP16 , HandlerEnum timing )
登録されているハンドラを削除します。
Void UnregisterHandler( SFCEventEnum bgnType , SFCEventEnum endType , HandlerEnum timing )
登録されているハンドラを削除します。
Void UnregisterHandler( SFCEventEnum bgnType , SFCEventEnum endType , UInt16 p16 , HandlerEnum timing )
登録されているハンドラを削除します。
Void UnregisterHandler( SFCEventEnum bgnType , SFCEventEnum endType , UInt16 bgnP16 , UInt16 endP16 , HandlerEnum timing )
登録されているハンドラを削除します。
Bool Invoke( SFXEventConstRef event ) (SFCInvoker から継承)
イベントを送信します。
SFCError RegisterTracer( BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
SFCError RegisterTracer( SFCEventEnum type , BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
SFCError RegisterTracer( SFCEventEnum type , UInt16 p16 , BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
SFCError RegisterTracer( SFCEventEnum type , UInt16 bgnP16 , UInt16 endP16 , BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
SFCError RegisterTracer( SFCEventEnum bgnType , SFCEventEnum endType , BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
SFCError RegisterTracer( SFCEventEnum bgnType , SFCEventEnum endType , UInt16 p16 , BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
SFCError RegisterTracer( SFCEventEnum bgnType , SFCEventEnum endType , UInt16 bgnP16 , UInt16 endP16 , BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
Void UnregisterTracer( Void ) (SFRTracer から継承)
登録されているトレーサを削除します。
Void UnregisterTracer( SFCEventEnum type ) (SFRTracer から継承)
登録されているトレーサを削除します。
Void UnregisterTracer( SFCEventEnum type , UInt16 p16 ) (SFRTracer から継承)
登録されているトレーサを削除します。
Void UnregisterTracer( SFCEventEnum type , UInt16 bgnP16 , UInt16 endP16 ) (SFRTracer から継承)
登録されているトレーサを削除します。
Void UnregisterTracer( SFCEventEnum bgnType , SFCEventEnum endType ) (SFRTracer から継承)
登録されているトレーサを削除します。
Void UnregisterTracer( SFCEventEnum bgnType , SFCEventEnum endType , UInt16 p16 ) (SFRTracer から継承)
登録されているトレーサを削除します。
Void UnregisterTracer( SFCEventEnum bgnType , SFCEventEnum endType , UInt16 bgnP16 , UInt16 endP16 ) (SFRTracer から継承)
登録されているトレーサを削除します。
プロテクト関数
HandlerRecConstPtr SearchHandler( SFXEventConstRef event , HandlerEnum timing )
指定したイベントに一致するハンドラを検索します。
TracerRecConstPtr SearchTracer( SFXEventConstRef event ) (SFRTracer から継承)
指定したイベントに一致するトレーサを検索します。
HandlerEnum
ハンドラの呼び出されるタイミングを表します。
SFRHandlerSPP
コールバック関数の型です。
TracerEnum (SFRTracer から継承)
トレース順序を表します。
TracerTraceMPP (SFRTracer から継承)
コールバック関数の型です。

SFRHandler::SFRHandler
SFRHandler クラスのコンストラクタです。
[ protected ]
SFRHandler(Void);

SFRHandler::~SFRHandler
SFRHandler クラスのデストラクタです。
[ protected, virtual ]
~SFRHandler(Void);

SFRHandler::RegisterHandler
ハンドラを登録します。
[ public ]
SFCError RegisterHandler(
    HandlerEnum timing   // 呼び出されるタイミング
    SFRHandlerSPP spp    // ハンドラの関数ポインタ
    VoidPtr ref          // リファレンス値
);
[ public ]
SFCError RegisterHandler(
    SFCEventEnum type    // イベントタイプ
    HandlerEnum timing   // 呼び出されるタイミング
    SFRHandlerSPP spp    // ハンドラの関数ポインタ
    VoidPtr ref          // リファレンス値
);
[ public ]
SFCError RegisterHandler(
    SFCEventEnum type    // イベントタイプ
    UInt16 p16           // 第 1 パラメータ
    HandlerEnum timing   // 呼び出されるタイミング
    SFRHandlerSPP spp    // ハンドラの関数ポインタ
    VoidPtr ref          // リファレンス値
);
[ public ]
SFCError RegisterHandler(
    SFCEventEnum type    // イベントタイプ
    UInt16 bp16          // 第 1 パラメータの開始番号
    UInt16 ep16          // 第 1 パラメータの終了番号
    HandlerEnum timing   // 呼び出されるタイミング
    SFRHandlerSPP spp    // ハンドラの関数ポインタ
    VoidPtr ref          // リファレンス値
);
[ public ]
SFCError RegisterHandler(
    SFCEventEnum btype   // イベントタイプの開始番号
    SFCEventEnum etype   // イベントタイプの終了番号
    HandlerEnum timing   // 呼び出されるタイミング
    SFRHandlerSPP spp    // ハンドラの関数ポインタ
    VoidPtr ref          // リファレンス値
);
[ public ]
SFCError RegisterHandler(
    SFCEventEnum btype     // イベントタイプの開始番号
    SFCEventEnum endType   // イベントタイプの終了番号
    UInt16 p16             // 第 1 パラメータ
    HandlerEnum timing     // 呼び出されるタイミング
    SFRHandlerSPP spp      // ハンドラの関数ポインタ
    VoidPtr ref            // リファレンス値
);
[ public, virtual ]
SFCError RegisterHandler(
    SFCEventEnum btype   // イベントタイプの開始番号
    SFCEventEnum etype   // イベントタイプの終了番号
    UInt16 bp16          // 第 1 パラメータの開始番号
    UInt16 ep16          // 第 1 パラメータの終了番号
    HandlerEnum timing   // 呼び出されるタイミング
    SFRHandlerSPP spp    // ハンドラの関数ポインタ
    VoidPtr ref          // リファレンス値
);

引数

timing

HANDLER_BEFORE か HANDLER_AFTER を設定できます。

定数の参照情報 : SFRHandler::HandlerEnum

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMORY

参照

SFRHandler::UnregisterHandler


SFRHandler::SearchHandler
指定したイベントに一致するハンドラを検索します。
[ protected, const ]
HandlerRecConstPtr SearchHandler(
    SFXEventConstRef event   // 検索するハンドラ
    HandlerEnum timing       // 呼び出されるタイミング
);

SFRHandler::UnregisterHandler
登録されているハンドラを削除します。
[ public ]
Void UnregisterHandler(
    HandlerEnum timing   // 呼び出されるタイミング
);
[ public ]
Void UnregisterHandler(
    SFCEventEnum type    // イベントタイプ
    HandlerEnum timing   // 呼び出されるタイミング
);
[ public ]
Void UnregisterHandler(
    SFCEventEnum type    // イベントタイプ
    UInt16 p16           // 第 1 パラメータ
    HandlerEnum timing   // 呼び出されるタイミング
);
[ public ]
Void UnregisterHandler(
    SFCEventEnum type    // イベントタイプ
    UInt16 bgnP16        // 第 1 パラメータの開始番号
    UInt16 endP16        // 第 1 パラメータの終了番号
    HandlerEnum timing   // 呼び出されるタイミング
);
[ public ]
Void UnregisterHandler(
    SFCEventEnum bgnType   // イベントタイプの開始番号
    SFCEventEnum endType   // イベントタイプの終了番号
    HandlerEnum timing     // 呼び出されるタイミング
);
[ public ]
Void UnregisterHandler(
    SFCEventEnum bgnType   // イベントタイプの開始番号
    SFCEventEnum endType   // イベントタイプの終了番号
    UInt16 p16             // 第 1 パラメータ
    HandlerEnum timing     // 呼び出されるタイミング
);
[ public, virtual ]
Void UnregisterHandler(
    SFCEventEnum bgnType   // イベントタイプの開始番号
    SFCEventEnum endType   // イベントタイプの終了番号
    UInt16 bgnP16          // 第 1 パラメータの開始番号
    UInt16 endP16          // 第 1 パラメータの終了番号
    HandlerEnum timing     // 呼び出されるタイミング
);

引数

timing

HANDLER_BEFORE か HANDLER_AFTER を設定できます。

定数の参照情報 : SFRHandler::HandlerEnum

参照

SFRHandler::RegisterHandler


SFRHandler::HandlerEnum
ハンドラの呼び出されるタイミングを表します。
enum HandlerEnum{
  HANDLER_BEFORE = 0,  // 子階層への通知の前
  HANDLER_AFTER        // 子階層への通知の後
};

解説

HANDLER_BEFORE は子階層への通知の前、 HANDLER_AFTER は子階層への通知の後を表します。

参照

SFRHandler::RegisterHandler


SFRHandler::HandlerRec
ハンドラを表す構造体です。
SFMTYPEDEFSTRUCT(HandlerRec)
friend  struct  HandlerRec;
struct HandlerRec {
    SFCEventEnum                btype;
    SFCEventEnum                etype;
    UInt16                      bp16;
    UInt16                      ep16;
    HandlerEnum                 timing;
    SFRHandlerSPP               spp;
    VoidPtr                     reference;
    HandlerRecPtr               next;
};

SFRHandler::SFRHandlerSPP
コールバック関数の型です。
typedef Bool(* SFRHandler::SFRHandlerSPP)(SFXEventConstRef event, VoidPtr reference)