]> git.saurik.com Git - apple/icu.git/blame - icuSources/samples/ucnv/flagcb.h
ICU-6.2.4.tar.gz
[apple/icu.git] / icuSources / samples / ucnv / flagcb.h
CommitLineData
b75a7d8f
A
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
15typedef struct
16{
17 UConverterFromUCallback subCallback;
18 const void *subContext;
19 UBool flag;
20} FromUFLAGContext;
21
22/**
23 * open the context
24 */
25
26U_CAPI FromUFLAGContext* U_EXPORT2 flagCB_fromU_openContext();
27
28/**
29 * the actual callback
30 */
31U_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
42typedef 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
50U_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
58U_CAPI debugCBContext *debugCB_openContext();
59
60#endif