• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* © 2016 and later: Unicode, Inc. and others.
2    License & terms of use: http://www.unicode.org/copyright.html#License
3 
4    Copyright (c) 2000 IBM, Inc. and Others.
5    FLAGCB.H - interface to 'flagging' callback which
6    simply marks the fact that the callback was called.
7 */
8 
9 #ifndef _FLAGCB
10 #define _FLAGCB
11 
12 #include "unicode/utypes.h"
13 #include "unicode/ucnv.h"
14 
15 /* The structure of a FromU Flag context.
16    (conceivably there could be a ToU Flag Context) */
17 
18 typedef struct
19 {
20   UConverterFromUCallback  subCallback;
21   const void               *subContext;
22   UBool                    flag;
23 } FromUFLAGContext;
24 
25 /**
26  * open the context
27  */
28 
29 U_CAPI FromUFLAGContext* U_EXPORT2  flagCB_fromU_openContext();
30 
31 /**
32  * the actual callback
33  */
34 U_CAPI void U_EXPORT2 flagCB_fromU(
35                   const void *context,
36                   UConverterFromUnicodeArgs *fromUArgs,
37                   const UChar* codeUnits,
38                   int32_t length,
39                   UChar32 codePoint,
40                   UConverterCallbackReason reason,
41 				  UErrorCode * err);
42 
43 
44 
45 typedef struct
46 {
47     UConverterFromUCallback  subCallback;
48     const void               *subContext;
49     uint32_t       magic;      /* 0xC0FFEE to identify that the object is OK */
50     uint32_t       serial;     /* minted from nextSerial */
51 } debugCBContext;
52 
53 U_CAPI void debugCB_fromU(const void *context,
54                    UConverterFromUnicodeArgs *fromUArgs,
55                    const UChar* codeUnits,
56                    int32_t length,
57                    UChar32 codePoint,
58                    UConverterCallbackReason reason,
59                    UErrorCode * err);
60 
61 U_CAPI debugCBContext *debugCB_openContext();
62 
63 #endif
64