設定データベース内のレコードに従ってメッセージを処理します。
palm_lsn_ret PalmLsnProcess( struct a_palm_msg * msg, Char const * configPDBName, UInt16 * const problematicRecNum, Boolean * handled )
msg a_palm_msg インスタンスへのポインタ。
configPDBName 設定データベースの名前を保持する文字配列。設定データベース名は、PalmLsnGetConfigFileName メソッドを使用して取得します。PalmLsnGetConfigFileName メソッドを参照してください。
problematicRecNum 設定データベース内の問題のあるレコードや間違った形式のレコードのインデックスを特定する出力パラメータ。
handled PalmLsnProcess が正常にメッセージを処理したかどうかを示す出力パラメータ。
palm_lsn_ret 列挙体に定義されているリターン・コード。palm_lsn_ret 列挙体を参照してください。
PalmLsnProcess は、着信メッセージに対して実行すべき適切なアクションを決定します。メッセージの各フィールドを、設定データベース内に格納されているフィルタと比較します。
Listener 設定データベースの作成方法の詳細については、Palm デバイス用の Listener 設定ユーティリティを参照してください。
設定データベース内のレコードには、メッセージ・フィルタに関する情報と受け入れたメッセージに対して実行されるアクションが格納されています。
設定レコードの形式は次のとおりです。
[subject=<string>;] [content=<string>;] [message|message_start=<string>;] [sender=<string>;] action=run <app name> [arguments] |
arguments はアプリケーションによって異なる文字列で、action 変数を含めることができます。
以下に、メッセージを処理するコードの一部を示します。この例では、メッセージ構造体を割り当て、フィールドを初期化し、PalmLsnProcess を使用してメッセージを処理しています。
a_palm_msg * ulMsg; Boolean * handled Char configDb[dmDBNameLength]; ... // Allocate the message structure ulMsg = PalmLsnAllocate(); ... // Fill the message fields ret = PalmLsnDupMessage(ulMsg, msgBody); ... // Get the configuration database name PalmLsnGetConfigFileName(configDb); // Process the message ret = PalmLsnProcess(ulMsg, configDb, NULL, handled); ... // Free the message PalmLsnFree(ulMsg); |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |