ICU 4.6 4.6
|
00001 /* 00002 ******************************************************************************* 00003 * 00004 * Copyright (C) 2008-2010, International Business Machines 00005 * Corporation, Google and others. All Rights Reserved. 00006 * 00007 ******************************************************************************* 00008 */ 00009 /* 00010 * Author : eldawy@google.com (Mohamed Eldawy) 00011 * ucnvsel.h 00012 * 00013 * Purpose: To generate a list of encodings capable of handling 00014 * a given Unicode text 00015 * 00016 * Started 09-April-2008 00017 */ 00018 00019 #ifndef __ICU_UCNV_SEL_H__ 00020 #define __ICU_UCNV_SEL_H__ 00021 00022 #include "unicode/uset.h" 00023 #include "unicode/utypes.h" 00024 #include "unicode/utf16.h" 00025 #include "unicode/uenum.h" 00026 #include "unicode/ucnv.h" 00027 #include "unicode/localpointer.h" 00028 00044 struct UConverterSelector; 00045 typedef struct UConverterSelector UConverterSelector; 00070 U_STABLE UConverterSelector* U_EXPORT2 00071 ucnvsel_open(const char* const* converterList, int32_t converterListSize, 00072 const USet* excludedCodePoints, 00073 const UConverterUnicodeSet whichSet, UErrorCode* status); 00074 00088 U_STABLE void U_EXPORT2 00089 ucnvsel_close(UConverterSelector *sel); 00090 00091 #if U_SHOW_CPLUSPLUS_API 00092 00093 U_NAMESPACE_BEGIN 00094 00104 U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterSelectorPointer, UConverterSelector, ucnvsel_close); 00105 00106 U_NAMESPACE_END 00107 00108 #endif 00109 00125 U_STABLE UConverterSelector* U_EXPORT2 00126 ucnvsel_openFromSerialized(const void* buffer, int32_t length, UErrorCode* status); 00127 00142 U_STABLE int32_t U_EXPORT2 00143 ucnvsel_serialize(const UConverterSelector* sel, 00144 void* buffer, int32_t bufferCapacity, UErrorCode* status); 00145 00160 U_STABLE UEnumeration * U_EXPORT2 00161 ucnvsel_selectForString(const UConverterSelector* sel, 00162 const UChar *s, int32_t length, UErrorCode *status); 00163 00178 U_STABLE UEnumeration * U_EXPORT2 00179 ucnvsel_selectForUTF8(const UConverterSelector* sel, 00180 const char *s, int32_t length, UErrorCode *status); 00181 00182 #endif /* __ICU_UCNV_SEL_H__ */