1 /* 2 ********************************************************************** 3 * Copyright (C) 2005-2006, International Business Machines 4 * Corporation and others. All Rights Reserved. 5 ********************************************************************** 6 */ 7 8 #include "unicode/utypes.h" 9 10 #if !UCONFIG_NO_CONVERSION 11 #include "unicode/unistr.h" 12 #include "unicode/ucnv.h" 13 14 #include "csmatch.h" 15 16 #include "csrecog.h" 17 #include "inputext.h" 18 19 U_NAMESPACE_BEGIN 20 21 CharsetMatch::CharsetMatch() 22 : csr(0), confidence(0) 23 { 24 // nothing else to do. 25 } 26 27 void CharsetMatch::set(InputText *input, CharsetRecognizer *cr, int32_t conf) 28 { 29 textIn = input; 30 csr = cr; 31 confidence = conf; 32 } 33 34 const char* CharsetMatch::getName()const 35 { 36 return csr->getName(); 37 } 38 39 const char* CharsetMatch::getLanguage()const 40 { 41 return csr->getLanguage(); 42 } 43 44 int32_t CharsetMatch::getConfidence()const 45 { 46 return confidence; 47 } 48 49 int32_t CharsetMatch::getUChars(UChar *buf, int32_t cap, UErrorCode *status) const 50 { 51 UConverter *conv = ucnv_open(getName(), status); 52 int32_t result = ucnv_toUChars(conv, buf, cap, (const char *) textIn->fRawInput, textIn->fRawLength, status); 53 54 ucnv_close(conv); 55 56 return result; 57 } 58 59 U_NAMESPACE_END 60 61 #endif 62