cpiNextParserClassName

목적

체인에서 다음 구문 분석기 클래스의 이름(있는 경우)을 리턴하는 선택적 함수 구문 분석기는 이 함수를 사용하여 메시지 컨텐츠의 다음 절 또는 나머지를 처리하는 구문 분석기 클래스의 이름을 브로커로 리턴합니다. 일반적으로 기본 형식 유형으로 된 메시지의 경우, 단 하나의 메시지 컨텐츠 구문 분석기가 있습니다. 이 함수를 제공할 필요가 없습니다. 여러 메시지 구문 분석기를 가진 더 복잡한 형식 유형으로 된 메시지의 경우, 각 구문 분석기는 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 마지막 갱신 날짜: 2006/08/21
as08120_