ICU 4.8.1.1
4.8.1.1
|
00001 /* 00002 ******************************************************************************* 00003 * 00004 * Copyright (C) 2008-2011, 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/utypes.h" 00023 00024 #if !UCONFIG_NO_CONVERSION 00025 00026 #include "unicode/uset.h" 00027 #include "unicode/utf16.h" 00028 #include "unicode/uenum.h" 00029 #include "unicode/ucnv.h" 00030 #include "unicode/localpointer.h" 00031 00047 struct UConverterSelector; 00048 typedef struct UConverterSelector UConverterSelector; 00073 U_STABLE UConverterSelector* U_EXPORT2 00074 ucnvsel_open(const char* const* converterList, int32_t converterListSize, 00075 const USet* excludedCodePoints, 00076 const UConverterUnicodeSet whichSet, UErrorCode* status); 00077 00091 U_STABLE void U_EXPORT2 00092 ucnvsel_close(UConverterSelector *sel); 00093 00094 #if U_SHOW_CPLUSPLUS_API 00095 00096 U_NAMESPACE_BEGIN 00097 00107 U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterSelectorPointer, UConverterSelector, ucnvsel_close); 00108 00109 U_NAMESPACE_END 00110 00111 #endif 00112 00128 U_STABLE UConverterSelector* U_EXPORT2 00129 ucnvsel_openFromSerialized(const void* buffer, int32_t length, UErrorCode* status); 00130 00145 U_STABLE int32_t U_EXPORT2 00146 ucnvsel_serialize(const UConverterSelector* sel, 00147 void* buffer, int32_t bufferCapacity, UErrorCode* status); 00148 00163 U_STABLE UEnumeration * U_EXPORT2 00164 ucnvsel_selectForString(const UConverterSelector* sel, 00165 const UChar *s, int32_t length, UErrorCode *status); 00166 00181 U_STABLE UEnumeration * U_EXPORT2 00182 ucnvsel_selectForUTF8(const UConverterSelector* sel, 00183 const char *s, int32_t length, UErrorCode *status); 00184 00185 #endif /* !UCONFIG_NO_CONVERSION */ 00186 00187 #endif /* __ICU_UCNV_SEL_H__ */