| /* |
| ******************************************************************************* |
| * |
| * Copyright (C) 2000-2001, International Business Machines |
| * Corporation and others. All Rights Reserved. |
| * |
| ******************************************************************************* |
| * file name: makeconv.h |
| * encoding: US-ASCII |
| * tab size: 8 (not used) |
| * indentation:4 |
| * |
| * created on: 2000nov01 |
| * created by: Markus W. Scherer |
| */ |
| |
| #ifndef __MAKECONV_H__ |
| #define __MAKECONV_H__ |
| |
| #include "unicode/utypes.h" |
| #include "ucnv_bld.h" |
| #include "unewdata.h" |
| |
| /* exports from makeconv.c */ |
| U_CFUNC UBool VERBOSE; |
| |
| /* abstract converter generator struct, C++ - style */ |
| struct NewConverter; |
| typedef struct NewConverter NewConverter; |
| |
| struct NewConverter { |
| void |
| (*close)(NewConverter *cnvData); |
| |
| UBool |
| (*startMappings)(NewConverter *cnvData); |
| |
| /** is this byte sequence valid? */ |
| UBool |
| (*isValid)(NewConverter *cnvData, |
| const uint8_t *bytes, int32_t length, |
| uint32_t b); |
| |
| UBool |
| (*addToUnicode)(NewConverter *cnvData, |
| const uint8_t *bytes, int32_t length, |
| UChar32 c, uint32_t b, |
| int8_t isFallback); |
| |
| UBool |
| (*addFromUnicode)(NewConverter *cnvData, |
| const uint8_t *bytes, int32_t length, |
| UChar32 c, uint32_t b, |
| int8_t isFallback); |
| |
| void |
| (*finishMappings)(NewConverter *cnvData, const UConverterStaticData *staticData); |
| |
| uint32_t |
| (*write)(NewConverter *cnvData, const UConverterStaticData *staticData, UNewDataMemory *pData); |
| }; |
| |
| #endif |