00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __ICU_UCNV_SEL_H__
00022 #define __ICU_UCNV_SEL_H__
00023
00024 #include "unicode/utypes.h"
00025
00026 #if !UCONFIG_NO_CONVERSION
00027
00028 #include "unicode/uset.h"
00029 #include "unicode/utf16.h"
00030 #include "unicode/uenum.h"
00031 #include "unicode/ucnv.h"
00032
00033 #if U_SHOW_CPLUSPLUS_API
00034 #include "unicode/localpointer.h"
00035 #endif // U_SHOW_CPLUSPLUS_API
00036
00048 struct UConverterSelector;
00053 typedef struct UConverterSelector UConverterSelector;
00078 U_CAPI UConverterSelector* U_EXPORT2
00079 ucnvsel_open(const char* const* converterList, int32_t converterListSize,
00080 const USet* excludedCodePoints,
00081 const UConverterUnicodeSet whichSet, UErrorCode* status);
00082
00096 U_CAPI void U_EXPORT2
00097 ucnvsel_close(UConverterSelector *sel);
00098
00099 #if U_SHOW_CPLUSPLUS_API
00100
00101 U_NAMESPACE_BEGIN
00102
00112 U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterSelectorPointer, UConverterSelector, ucnvsel_close);
00113
00114 U_NAMESPACE_END
00115
00116 #endif
00117
00133 U_CAPI UConverterSelector* U_EXPORT2
00134 ucnvsel_openFromSerialized(const void* buffer, int32_t length, UErrorCode* status);
00135
00150 U_CAPI int32_t U_EXPORT2
00151 ucnvsel_serialize(const UConverterSelector* sel,
00152 void* buffer, int32_t bufferCapacity, UErrorCode* status);
00153
00168 U_CAPI UEnumeration * U_EXPORT2
00169 ucnvsel_selectForString(const UConverterSelector* sel,
00170 const UChar *s, int32_t length, UErrorCode *status);
00171
00186 U_CAPI UEnumeration * U_EXPORT2
00187 ucnvsel_selectForUTF8(const UConverterSelector* sel,
00188 const char *s, int32_t length, UErrorCode *status);
00189
00190 #endif
00191
00192 #endif