tng 2003/01/09 07:36:11 Modified: c/src/xercesc/util TransService.cpp Log: Use transService to open the transcode if intrinsic is not found. Revision Changes Path 1.10 +58 -53 xml-xerces/c/src/xercesc/util/TransService.cpp Index: TransService.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/TransService.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- TransService.cpp 6 Dec 2002 18:43:48 -0000 1.9 +++ TransService.cpp 9 Jan 2003 15:36:11 -0000 1.10 @@ -115,7 +115,7 @@ } // --------------------------------------------------------------------------- -// XLMTransService: Constructors and destructor +// XMLTransService: Constructors and destructor // --------------------------------------------------------------------------- XMLTransService::XMLTransService() { @@ -164,7 +164,7 @@ } // --------------------------------------------------------------------------- -// XLMTranscoder: Non-virtual API +// XMLTransService: Non-virtual API // --------------------------------------------------------------------------- XMLTranscoder* XMLTransService::makeNewTranscoderFor( const char* const encodingName @@ -242,7 +242,7 @@ // // We can only make transcoder if the passed encodingEnum is under this range // - if (encodingEnum < XMLRecognizer::EBCDIC || encodingEnum > XMLRecognizer::XERCES_XMLCH) { + if (encodingEnum < XMLRecognizer::Encodings_Min || encodingEnum > XMLRecognizer::Encodings_Max) { resValue = XMLTransService::InternalFailure; return 0; } @@ -256,61 +256,20 @@ return temp; } else { - resValue = XMLTransService::InternalFailure; - return 0; - } - -} - - -// --------------------------------------------------------------------------- -// XLMTranscoder: Public Destructor -// --------------------------------------------------------------------------- -XMLTranscoder::~XMLTranscoder() -{ - delete [] fEncodingName; -} - - -// --------------------------------------------------------------------------- -// XLMTranscoder: Hidden Constructors -// --------------------------------------------------------------------------- -XMLTranscoder::XMLTranscoder(const XMLCh* const encodingName - , const unsigned int blockSize) : - fEncodingName(0) - , fBlockSize(blockSize) -{ - fEncodingName = XMLString::replicate(encodingName); -} + XMLTranscoder* temp = makeNewXMLTranscoder(XMLRecognizer::nameForEncoding(encodingEnum), resValue, blockSize); + // if successful, set resValue to OK + // if failed, the makeNewXMLTranscoder has already set the proper failing resValue + if (temp) resValue = XMLTransService::Ok; -// --------------------------------------------------------------------------- -// XLMTranscoder: Protected helpers -// --------------------------------------------------------------------------- -void XMLTranscoder::checkBlockSize(const unsigned int toCheck) -{ -// if (toCheck > fBlockSize) -// ThrowXML(TranscodingException, XMLExcepts::Trans_BadBlockSize); -} - + return temp; + } -// --------------------------------------------------------------------------- -// XLMLCPTranscoder: Public Destructor -// --------------------------------------------------------------------------- -XMLLCPTranscoder::XMLLCPTranscoder() -{ } // --------------------------------------------------------------------------- -// XLMTranscoder: Hidden Constructors -// --------------------------------------------------------------------------- -XMLLCPTranscoder::~XMLLCPTranscoder() -{ -} - -// --------------------------------------------------------------------------- -// XLMTranscoder: Hidden Init Method +// XMLTransTransService: Hidden Init Method // // This is called by platform utils during startup. // --------------------------------------------------------------------------- @@ -550,7 +509,7 @@ } // --------------------------------------------------------------------------- -// XLMTransService: IANA encoding setting +// XMLTransService: IANA encoding setting // --------------------------------------------------------------------------- void XMLTransService::strictIANAEncoding(const bool newState) { @@ -560,6 +519,52 @@ bool XMLTransService::isStrictIANAEncoding() { return gStrictIANAEncoding; +} + +// --------------------------------------------------------------------------- +// XMLTranscoder: Public Destructor +// --------------------------------------------------------------------------- +XMLTranscoder::~XMLTranscoder() +{ + delete [] fEncodingName; +} + + +// --------------------------------------------------------------------------- +// XMLTranscoder: Hidden Constructors +// --------------------------------------------------------------------------- +XMLTranscoder::XMLTranscoder(const XMLCh* const encodingName + , const unsigned int blockSize) : + fEncodingName(0) + , fBlockSize(blockSize) +{ + fEncodingName = XMLString::replicate(encodingName); +} + + +// --------------------------------------------------------------------------- +// XMLTranscoder: Protected helpers +// --------------------------------------------------------------------------- +void XMLTranscoder::checkBlockSize(const unsigned int toCheck) +{ +// if (toCheck > fBlockSize) +// ThrowXML(TranscodingException, XMLExcepts::Trans_BadBlockSize); +} + + +// --------------------------------------------------------------------------- +// XMLLCPTranscoder: Public Destructor +// --------------------------------------------------------------------------- +XMLLCPTranscoder::XMLLCPTranscoder() +{ +} + + +// --------------------------------------------------------------------------- +// XMLLCPTranscoder: Hidden Constructors +// --------------------------------------------------------------------------- +XMLLCPTranscoder::~XMLLCPTranscoder() +{ } XERCES_CPP_NAMESPACE_END
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]