]> git.saurik.com Git - apple/icu.git/blob - icuSources/samples/ucnv/flagcb.h
ICU-6.2.4.tar.gz
[apple/icu.git] / icuSources / samples / ucnv / flagcb.h
1 /* Copyright (c) 2000 IBM, Inc. and Others.
2 FLAGCB.H - interface to 'flagging' callback which
3 simply marks the fact that the callback was called.
4 */
5
6 #ifndef _FLAGCB
7 #define _FLAGCB
8
9 #include "unicode/utypes.h"
10 #include "unicode/ucnv.h"
11
12 /* The structure of a FromU Flag context.
13 (conceivably there could be a ToU Flag Context) */
14
15 typedef struct
16 {
17 UConverterFromUCallback subCallback;
18 const void *subContext;
19 UBool flag;
20 } FromUFLAGContext;
21
22 /**
23 * open the context
24 */
25
26 U_CAPI FromUFLAGContext* U_EXPORT2 flagCB_fromU_openContext();
27
28 /**
29 * the actual callback
30 */
31 U_CAPI void U_EXPORT2 flagCB_fromU(
32 const void *context,
33 UConverterFromUnicodeArgs *fromUArgs,
34 const UChar* codeUnits,
35 int32_t length,
36 UChar32 codePoint,
37 UConverterCallbackReason reason,
38 UErrorCode * err);
39
40
41
42 typedef struct
43 {
44 UConverterFromUCallback subCallback;
45 const void *subContext;
46 uint32_t magic; /* 0xC0FFEE to identify that the object is OK */
47 uint32_t serial; /* minted from nextSerial */
48 } debugCBContext;
49
50 U_CAPI void debugCB_fromU(const void *context,
51 UConverterFromUnicodeArgs *fromUArgs,
52 const UChar* codeUnits,
53 int32_t length,
54 UChar32 codePoint,
55 UConverterCallbackReason reason,
56 UErrorCode * err);
57
58 U_CAPI debugCBContext *debugCB_openContext();
59
60 #endif