1 | // © 2016 and later: Unicode, Inc. and others. |
2 | // License & terms of use: http://www.unicode.org/copyright.html |
3 | /* |
4 | ********************************************************************** |
5 | * Copyright (C) 2005-2008, International Business Machines |
6 | * Corporation and others. All Rights Reserved. |
7 | ********************************************************************** |
8 | */ |
9 | |
10 | #ifndef __INPUTEXT_H |
11 | #define __INPUTEXT_H |
12 | |
13 | /** |
14 | * \file |
15 | * \internal |
16 | * |
17 | * This is an internal header for the Character Set Detection code. The |
18 | * name is probably too generic... |
19 | */ |
20 | |
21 | |
22 | #include "unicode/uobject.h" |
23 | |
24 | #if !UCONFIG_NO_CONVERSION |
25 | |
26 | U_NAMESPACE_BEGIN |
27 | |
28 | class InputText : public UMemory |
29 | { |
30 | // Prevent copying |
31 | InputText(const InputText &); |
32 | public: |
33 | InputText(UErrorCode &status); |
34 | ~InputText(); |
35 | |
36 | void setText(const char *in, int32_t len); |
37 | void setDeclaredEncoding(const char *encoding, int32_t len); |
38 | UBool isSet() const; |
39 | void MungeInput(UBool fStripTags); |
40 | |
41 | // The text to be checked. Markup will have been |
42 | // removed if appropriate. |
43 | uint8_t *fInputBytes; |
44 | int32_t fInputLen; // Length of the byte data in fInputBytes. |
45 | // byte frequency statistics for the input text. |
46 | // Value is percent, not absolute. |
47 | // Value is rounded up, so zero really means zero occurences. |
48 | int16_t *fByteStats; |
49 | UBool fC1Bytes; // True if any bytes in the range 0x80 - 0x9F are in the input;false by default |
50 | char *fDeclaredEncoding; |
51 | |
52 | const uint8_t *fRawInput; // Original, untouched input bytes. |
53 | // If user gave us a byte array, this is it. |
54 | // If user gave us a stream, it's read to a |
55 | // buffer here. |
56 | int32_t fRawLength; // Length of data in fRawInput array. |
57 | |
58 | }; |
59 | |
60 | U_NAMESPACE_END |
61 | |
62 | #endif |
63 | #endif /* __INPUTEXT_H */ |
64 | |