Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

convert.h

00001 /***************************************************************************** 00002 * 00003 * Copyright (C) 1998-2001, International Business Machines 00004 * Corporation and others. All Rights Reserved. 00005 * 00006 * 00007 * Change history: 00008 * 00009 * 06/29/2000 helena Major rewrite of the callback APIs. 00010 *****************************************************************************/ 00011 00012 #ifndef CONVERT_H 00013 #define CONVERT_H 00014 00015 00016 #include "unicode/unistr.h" 00017 #include "unicode/ucnv.h" 00018 00019 U_NAMESPACE_BEGIN 00039 class U_COMMON_API UnicodeConverter 00040 { 00041 private: 00042 /*Internal Data representation of the Converter*/ 00043 UConverter* myUnicodeConverter; 00044 /*Debug method*/ 00045 void printRef(void) const; 00046 00047 public: 00048 00049 //Constructors and a destructor 00050 00056 UnicodeConverter(); 00057 00068 UnicodeConverter(const char* name, 00069 UErrorCode& err); 00070 00082 UnicodeConverter(const UnicodeString& name, 00083 UErrorCode& err); 00084 00094 UnicodeConverter(int32_t codepageNumber, 00095 UConverterPlatform platform, 00096 UErrorCode& err); 00097 00098 ~UnicodeConverter(); 00099 00100 00115 void fromUnicodeString(char* target, 00116 int32_t& targetSize, 00117 const UnicodeString& source, 00118 UErrorCode& err) const; 00119 00133 void toUnicodeString(UnicodeString& target, 00134 const char* source, 00135 int32_t sourceSize, 00136 UErrorCode& err) const; 00137 00167 void fromUnicode(char*& target, 00168 const char* targetLimit, 00169 const UChar*& source, 00170 const UChar* sourceLimit, 00171 int32_t * offsets, 00172 UBool flush, 00173 UErrorCode& err); 00174 00175 00204 void toUnicode(UChar*& target, 00205 const UChar* targetLimit, 00206 const char*& source, 00207 const char* sourceLimit, 00208 int32_t * offsets, 00209 UBool flush, 00210 UErrorCode& err); 00211 00212 00218 int8_t getMaxBytesPerChar(void) const; 00219 00226 int8_t getMinBytesPerChar(void) const; 00227 00234 UConverterType getType(void) const; 00235 00248 void getStarters(UBool starters[256], 00249 UErrorCode& err) const; 00260 void getSubstitutionChars(char* subChars, 00261 int8_t& len, 00262 UErrorCode& err) const; 00274 void setSubstitutionChars(const char* subChars, 00275 int8_t len, 00276 UErrorCode& err); 00277 00283 void resetState(void); 00284 00293 const char* getName( UErrorCode& err) const; 00294 00295 00306 int32_t getCodepage(UErrorCode& err) const; 00307 00315 void getMissingCharAction(UConverterToUCallback *action, 00316 const void **context) const; 00317 00325 void getMissingUnicodeAction(UConverterFromUCallback *action, 00326 const void **context) const; 00327 00338 void setMissingCharAction(UConverterToUCallback newAction, 00339 const void* newContext, 00340 UConverterToUCallback *oldAction, 00341 const void** oldContext, 00342 UErrorCode& err); 00343 00355 void setMissingUnicodeAction(UConverterFromUCallback newAction, 00356 const void* newContext, 00357 UConverterFromUCallback *oldAction, 00358 const void** oldContext, 00359 UErrorCode& err); 00367 void getDisplayName(const Locale& displayLocale, 00368 UnicodeString& displayName) const; 00369 00377 UConverterPlatform getCodepagePlatform(UErrorCode& err) const; 00378 00379 00380 UnicodeConverter& operator=(const UnicodeConverter& that); 00381 UBool operator==(const UnicodeConverter& that) const; 00382 UBool operator!=(const UnicodeConverter& that) const; 00383 UnicodeConverter(const UnicodeConverter& that); 00384 00392 static const char* const* getAvailableNames(int32_t& num, 00393 UErrorCode& err); 00394 00400 static int32_t flushCache(void); 00411 void fixFileSeparator(UnicodeString& source) const; 00412 00420 UBool isAmbiguous(void) const; 00421 00422 }; 00423 00428 typedef UnicodeConverter UnicodeConverterCPP; /* Backwards compatibility. */ 00429 00430 U_NAMESPACE_END 00431 #endif

Generated on Fri Aug 13 09:53:50 2004 for ICU 2.1 by doxygen 1.3.7