Annotation of parser3/src/include/pa_transcoder.h, revision 1.1
1.1 ! paf 1: /** @file
! 2: Parser: Transcoder decl.
! 3:
! 4: Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
! 5: Author: Alexander Petrosyan <paf@design.ru> (http://paf.design.ru)
! 6:
! 7: $Id: pa_charset_connection.h,v 1.4 2001/11/05 11:46:23 paf Exp $
! 8: */
! 9:
! 10: #ifndef PA_TRANSCODER_H
! 11: #define PA_TRANSCODER_H
! 12:
! 13: namespace PCRE {
! 14: #include "pcre.h"
! 15: # include "internal.h"
! 16: }
! 17:
! 18: #include "pa_config_includes.h"
! 19: #include "pa_types.h"
! 20:
! 21: // defines
! 22:
! 23: #ifdef XML
! 24: # include <util/XercesDefs.hpp>
! 25: # include <util/TransService.hpp>
! 26: # define Transcoder_TransRec XMLTransService::TransRec
! 27: #else
! 28: # ifndef XMLCh
! 29: # define XMLCh unsigned int
! 30: # endif
! 31: # ifndef XMLByte
! 32: # define XMLByte unsigned char
! 33: # endif
! 34:
! 35: struct Transcoder_TransRec {
! 36: XMLCh intCh;
! 37: XMLByte extCh;
! 38: };
! 39: #endif
! 40:
! 41:
! 42: /** contains byte->unicode & unicode->byte tables
! 43: */
! 44: struct Transcoder {
! 45: unsigned char pcre_tables[tables_length];
! 46:
! 47: XMLCh fromTable[0x100];
! 48: Transcoder_TransRec *toTable;
! 49: uint toTableSize;
! 50:
! 51: void sort_ToTable();
! 52:
! 53: XMLByte xlatOneTo(const XMLCh toXlat) const;
! 54:
! 55: void transcodeToUTF8(Pool& pool,
! 56: const void *source_body, size_t source_content_length,
! 57: const void *& dest_body, size_t& dest_content_length) const;
! 58: void transcodeFromUTF8(Pool& pool,
! 59: const void *source_body, size_t source_content_length,
! 60: const void *& dest_body, size_t& dest_content_length) const;
! 61: void transcodeToTranscoder(Pool& pool,
! 62: const Transcoder& dest_transcoder,
! 63: const void *source_body, size_t source_content_length,
! 64: const void *& dest_body, size_t& dest_content_length) const;
! 65: };
! 66:
! 67: void transcoder_transcode(Pool& pool,
! 68: const Transcoder *source_transcoder, const void *source_body, size_t source_content_length,
! 69: const Transcoder *dest_transcoder, const void *& dest_body, size_t& dest_content_length
! 70: );
! 71:
! 72: #endif
E-mail: