SophiaFramework UNIVERSE 5.3 |
コールバック関数は XALLBACK_DECLARE_ で始まる名前のマクロで宣言します。
表 25.45. コールバック関数宣言用マクロ(ファイル)
マクロ | 意味 | 使用するメソッド |
---|---|---|
XALLBACK_DECLARE_SFXFILE | SFXFile クラスのコールバック関数宣言用マクロ | SFXFile::ScheduleRead |
表 25.46. コールバック関数宣言用マクロ( ネットワーク )
表 25.47. コールバック関数宣言用マクロ( ストリーム )
マクロ | 意味 | 使用するメソッド |
---|---|---|
XALLBACK_DECLARE_SFXSTREAMREADER | SFXStreamReader クラスのコールバック関数宣言用マクロ | SFXStreamReader::Fetch |
XALLBACK_DECLARE_SFXSTREAMWRITER | SFXStreamWriter クラスのコールバック関数宣言用マクロ | SFXStreamWriter::Flush |
XALLBACK_DECLARE_SFXANSISTRINGSTREAMREADER | SFXAnsiStringStreamReader クラスのコールバック関数宣言用マクロ | SFXStreamReader::Fetch( SFXStreamReader から継承 ) |
XALLBACK_DECLARE_SFXANSISTRINGSTREAMWRITER | SFXAnsiStringStreamWriter クラスのコールバック関数宣言用マクロ | SFXStreamWriter::Flush( SFXStreamWriter から継承 ) |
XALLBACK_DECLARE_SFXWIDESTRINGSTREAMREADER | SFXWideStringStreamReader クラスのコールバック関数宣言用マクロ | SFXStreamReader::Fetch( SFXStreamReader から継承 ) |
XALLBACK_DECLARE_SFXWIDESTRINGSTREAMWRITER | SFXWideStringStreamWriter クラスのコールバック関数宣言用マクロ | SFXStreamWriter::Flush( SFXStreamWriter から継承 ) |
XALLBACK_DECLARE_SFXBINARYSTREAMREADER | SFXBinaryStreamReader クラスのコールバック関数宣言用マクロ | SFXStreamReader::Fetch( SFXStreamReader から継承 ) |
XALLBACK_DECLARE_SFXBINARYSTREAMWRITER | SFXBinaryStreamWriter クラスのコールバック関数宣言用マクロ | SFXStreamWriter::Flush( SFXStreamWriter から継承 ) |
XALLBACK_DECLARE_SFXELASTICSTREAMREADER | SFXElasticStreamReader クラスのコールバック関数宣言用マクロ | SFXElasticStreamReader::Fetch |
XALLBACK_DECLARE_SFXELASTICSTREAMWRITER | SFXElasticStreamWriter クラスのコールバック関数宣言用マクロ | SFXElasticStreamWriter::Flush |
表 25.48. コールバック関数宣言用マクロ( ストレージ )
マクロ | 意味 | 使用するメソッド |
---|---|---|
XALLBACK_DECLARE_SFXFILE | SFXFile クラスのコールバック関数宣言用マクロ | SFXFile::ScheduleRead |
XALLBACK_DECLARE_SFXHTTPCONNECTION | SFXHTTPConnection クラスのコールバック関数宣言用マクロ | SFXHTTPConnection::Connect |
XALLBACK_DECLARE_SFXTCPSOCKET | SFXTCPSocket クラスのコールバック関数宣言用マクロ | SFXTCPSocket::Connect、SFXTCPSocket::ScheduleAccept、SFXTCPSocket::ScheduleBind、SFXTCPSocket::ScheduleListen、SFXTCPSocket::ScheduleRead、SFXTCPSocket::ScheduleWrite |
XALLBACK_DECLARE_SFXSSLSOCKET | SFXSSLSocket クラスのコールバック関数宣言用マクロ | SFXSSLSocket::Connect、SFXSSLSocket::Negotiate、SFXSSLSocket::ScheduleBind、SFXSSLSocket::ScheduleRead、SFXSSLSocket::ScheduleWrite |
XALLBACK_DECLARE_SFXSOURCE | SFXSource クラスのコールバック関数宣言用マクロ | SFXSource::ScheduleRead |
XALLBACK_DECLARE_SFXZIPDECODER | SFXZIPDecoder クラスのコールバック関数宣言用マクロ | SFXZIPDecoder::ScheduleRead |
表 25.49. コールバック関数宣言用マクロ( その他 )
マクロ | 意味 | 使用するメソッド |
---|---|---|
XALLBACK_DECLARE_SFXCALLBACK | SFXCallback クラスのコールバック関数宣言用マクロ | SFXCallback::Set |
XALLBACK_DECLARE_SFXTASK | SFXTask クラスのコールバック関数宣言用マクロ | SFXTask::Set |
XALLBACK_DECLARE_SFXTIMER | SFXTimer クラスのコールバック関数宣言用マクロ | SFXTimer::Set |
XALLBACK_DECLARE_SFXEDITOR | SFXEditor クラスのコールバック関数宣言用マクロ | SFXEditor::Open |
XALLBACK_DECLARE_SFCAPPLICATION | SFCApplication クラスのコールバック関数宣言用マクロ | SFCApplication::RegisterBypass、SFCApplication::UnregisterBypass |
XALLBACK_DECLARE_SFYAPPLICATION | SFYApplication クラスのコールバック関数宣言用マクロ | SFCApplication::RegisterBypass、SFCApplication::UnregisterBypass |
引数はコールバック関数名です。 |
コールバック関数は XALLBACK_IMPLEMENT_ で始まる名前のマクロで実装します。
表 25.50. コールバック関数実装用マクロ(ファイル)
マクロ | 第 3 引数 | 意味 |
---|---|---|
XALLBACK_IMPLEMENT_SFXFILE | error(エラー型) | SFXFile クラスのコールバック関数実装用マクロ |
表 25.51. コールバック関数実装用マクロ( ネットワーク )
マクロ | 第 3 引数 | 意味 |
---|---|---|
XALLBACK_IMPLEMENT_SFXINETADDRESS | error(エラー型) | SFXInetAddress クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXSOCKETADDRESS | error(エラー型) | SFXSocketAddress クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXHTTPCONNECTION | error(エラー型) | SFXHTTPConnection クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXTCPSOCKET | error(エラー型) | SFXTCPSocket クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXSSLSOCKET | error(エラー型) | SFXSSLSocket クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXUDPSOCKET | error(エラー型) | SFXUDPSocket クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXSMTPSENDER | error(エラー型) | SFXSMTPSender クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXPOP3RECEIVER | error(エラー型) | SFXPOP3Receiver クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXSMTP | error(エラー型) | SFXSMTP クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXPOP3 | error(エラー型) | SFXPOP3 クラスのコールバック関数実装用マクロ |
表 25.52. コールバック関数実装用マクロ( ストリーム )
マクロ | 第 3 引数 | 意味 |
---|---|---|
XALLBACK_IMPLEMENT_SFXSTREAMREADER | error(エラー型) | SFXStreamReader クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXSTREAMWRITER | error(エラー型) | SFXStreamWriter クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXANSISTRINGSTREAMREADER | error(エラー型) | SFXAnsiStringStreamReader クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXANSISTRINGSTREAMWRITER | error(エラー型) | SFXAnsiStringStreamWriter クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXWIDESTRINGSTREAMREADER | error(エラー型) | SFXWideStringStreamReader クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXWIDESTRINGSTREAMWRITER | error(エラー型) | SFXWideStringStreamWriter クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXBINARYSTREAMREADER | error(エラー型) | SFXBinaryStreamReader クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXBINARYSTREAMWRITER | error(エラー型) | SFXBinaryStreamWriter クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXELASTICSTREAMREADER | error(エラー型) | SFXElasticStreamReader クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXELASTICSTREAMWRITER | error(エラー型) | SFXElasticStreamWriter クラスのコールバック関数実装用マクロ |
表 25.53. コールバック関数実装用マクロ( ストレージ )
マクロ | 第 3 引数 | 意味 |
---|---|---|
XALLBACK_IMPLEMENT_SFXFILE | error(エラー型) | SFXFile クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXHTTPCONNECTION | error(エラー型) | SFXHTTPConnection クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXTCPSOCKET | error(エラー型) | SFXTCPSocket クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXSSLSOCKET | error(エラー型) | SFXSSLSocket クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXSOURCE | error(エラー型) | SFXSource クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXZIPDECODER | error(エラー型) | SFXZIPDecoder クラスのコールバック関数実装用マクロ |
表 25.54. コールバック関数実装用マクロ( その他 )
マクロ | 第 3 引数 | 意味 |
---|---|---|
XALLBACK_IMPLEMENT_SFXCALLBACK | なし | SFXCallback クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXTASK | なし | SFXTask クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXTIMER | なし | SFXTimer クラスのコールバック関数実装用マクロ |
XALLBACK_IMPLEMENT_SFXEDITOR | error(エラー型) | SFXEditor クラスのコールバック関数実装用マクロ。ネイティブテキスト入力完了時に呼び出されます。 |
XALLBACK_IMPLEMENT_SFCAPPLICATION | event(SFXEventConstRef 型) | SFCApplication クラスのコールバック関数実装用マクロ。優先的イベントバイパス登録時に、イベント受信によって呼び出されます。 |
XALLBACK_IMPLEMENT_SFYAPPLICATION | SFXEventConstRef | SFYApplication クラスのコールバック関数実装用マクロ。XALLBACK_IMPLEMENT_SFCAPPLICATION を継承したもので、XALLBACK_IMPLEMENT_SFCAPPLICATION と同じ内容です。 |
コールバック関数の引数 | |
---|---|
第1引数は所属クラス名、第2引数にはコールバック関数名です。第3引数はコールバック関数によって異なります。 |
第3引数のエラー型の戻り値 | |
---|---|
BREW SDK の "AEEError.h" で定義されている、ネットワーク接続時やデータ送受信時のエラー値を返します。 |
コールバック関数は、以下のマクロ(ほとんどの場合、XALLBACK_INTERNAL マクロ)を利用して登録します。
表 25.55. コールバック関数登録用マクロ
マクロ | 説明 |
---|---|
XALLBACK_INTERNAL | コールバック関数へのポインタと内部インスタンスへの参照を渡すコールバック関数を登録するときに利用します。 |
XALLBACK_EXTERNAL | コールバック関数へのポインタと外部インスタンスへの参照を渡すコールバック関数を登録するときに利用します。 |
XALLBACK_NULL | 何も処理されないヌルコールバック関数を登録するときに利用します。 |
XALLBACK_FUNCTION マクロは、下記のように定義されるコールバック関数のエントリ名を取得するためのマクロです。
#define XALLBACK_FUNCTION(FUNCTION) FUNCTION##SCP
XALLBACK_INTERNAL マクロは、下記のように定義されるコールバック関数へのポインタと内部インスタンスへの参照を取得するためのマクロです。
コールバック関数へのポインタと内部インスタンスへの参照を渡してコールバック関数を登録するときに使います。
#define XALLBACK_INTERNAL(FUNCTION) (XALLBACK_FUNCTION(FUNCTION)), (this)
XALLBACK_EXTERNAL マクロは、下記のように定義されるコールバック関数へのポインタと外部インスタンスへの参照を取得するためのマクロです。
コールバック関数へのポインタと外部インスタンスへの参照を渡してコールバック関数を登録するときに使います。
#define XALLBACK_EXTERNAL(FUNCTION, REFERENCE) (XALLBACK_FUNCTION(FUNCTION)), ((REFERENCE))
XALLBACK_INTERNAL マクロと XALLBACK_EXTERNAL マクロ | |
---|---|
コールバック関数が同じクラスのインスタンスを参照する場合は、XALLBACK_INTERNALマクロを使用してコールバック関数を取得します。 このとき、コールバック関数は自動的に this 変数を含む構文に展開されます。 コールバック関数が外部のクラスのインスタンスを参照する場合は、XALLBACK_EXTERNALマクロを使用してコールバック関数を取得します。 このとき、コールバック関数は自動的に引数で指定した外部クラスのインスタンスを含む構文に展開されます。 同じクラスのインスタンスを参照するコールバック関数が大半なので大抵の場合は XALLBACK_INTERNALマクロを利用します。 static 関数の中など this が使えない場所や、 this が使える場合でも渡したいインスタンスが自分自身ではなく外部クラスのインスタンスの場合、 XALLBACK_EXTERNAL マクロを利用することになります。 |
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |