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: