cpiNextParserClassName

目的

チェーン内の次のパーサー・クラス (もしあれば) の名前を戻すオプションの関数。 これによって、パーサーは、メッセージ内容の、次のセクションまたは残りを処理するパーサー・クラスの名前をブローカーに戻すことができます。 通常、単純な形式タイプのメッセージの場合、メッセージ内容パーサーは 1 つしかありません。 この場合、この関数は必ずしも提供する必要はありません。 複数のメッセージ・パーサーのある複雑な形式タイプのメッセージの場合、それぞれのパーサーは、buffer パラメーターに名前を戻すことによって、チェーンの次にあるものを識別する必要があります。 チェーンの最後のパーサーは、空ストリングを戻さなければなりません。

WebSphere Message Broker が提供しているパーサーの名前を指定する場合、パーサーの正しいクラス名を使用しなければなりません。

定義されている場所 タイプ メンバー
CPI_VFT オプション iFpNextParserClassName

構文

void cpiNextParserClassName(
  CciParser*     parser,
  CciContext* context,
  CciChar*     buffer,
  int          size);

パラメーター

parser
パーサー・オブジェクトのアドレス (入力)。
context
パーサー・オブジェクトが所有するコンテキストのアドレス (入力)。
buffer
パーサー・クラス名が入れられるバッファーのアドレス (入力)。
size
ブローカーによって提供される、バイト単位のバッファーの長さ (入力)。

戻り値

なし。

サンプル

この例は、サンプル・パーサー・ファイル BipSampPluginParser.c から取られています (732 行から 756 行)。

void cpiNextParserClassName(
  CciParser*     parser,
  CciContext* context,
  CciChar*     buffer,
  int         size
){
  PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
  int rc = 0;

  if (pc->trace) {
    fprintf(pc->tracefile, "PLUGIN: -> cpiNextParserClassName() parser=0x%x context=0x%x¥n",
            parser, context);
    fflush(pc->tracefile);
  }

  /* Copy the name to the broker */
  CciCharNCpy(buffer, pc->iNextParserClassName, size);

  if (pc->trace) {
    fprintf(pc->tracefile, "PLUGIN: <- cpiNextParserClassName()¥n");
    fflush(pc->tracefile);
  }

  return;
}
関連概念
ユーザー定義のパーサー
ユーザー定義拡張機能
関連タスク
C でのパーサーの作成
関連資料
cpiNextParserCodedCharSetId
cpiNextParserEncoding
C パーサー・インプリメンテーション関数
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as08120_