]> git.saurik.com Git - apple/icu.git/blame - icuSources/samples/ucnv/flagcb.h
ICU-64260.0.1.tar.gz
[apple/icu.git] / icuSources / samples / ucnv / flagcb.h
CommitLineData
f3c0d7a5
A
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.
b75a7d8f
A
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
18typedef struct
19{
20 UConverterFromUCallback subCallback;
21 const void *subContext;
22 UBool flag;
23} FromUFLAGContext;
24
25/**
26 * open the context
27 */
28
29U_CAPI FromUFLAGContext* U_EXPORT2 flagCB_fromU_openContext();
30
31/**
32 * the actual callback
33 */
34U_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
45typedef 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
53U_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
61U_CAPI debugCBContext *debugCB_openContext();
62
63#endif