]>
Commit | Line | Data |
---|---|---|
73c04bcf A |
1 | /* |
2 | ********************************************************************** | |
57a6839d | 3 | * Copyright (C) 2005-2013, International Business Machines |
73c04bcf A |
4 | * Corporation and others. All Rights Reserved. |
5 | ********************************************************************** | |
6 | */ | |
7 | ||
8 | #ifndef __CSDETECT_H | |
9 | #define __CSDETECT_H | |
10 | ||
11 | #include "unicode/uobject.h" | |
12 | ||
13 | #if !UCONFIG_NO_CONVERSION | |
14 | ||
15 | U_NAMESPACE_BEGIN | |
16 | ||
17 | class InputText; | |
18 | class CharsetRecognizer; | |
19 | class CharsetMatch; | |
20 | ||
21 | class CharsetDetector : public UMemory | |
22 | { | |
23 | private: | |
24 | InputText *textIn; | |
25 | CharsetMatch **resultArray; | |
26 | int32_t resultCount; | |
27 | UBool fStripTags; // If true, setText() will strip tags from input text. | |
28 | UBool fFreshTextSet; | |
29 | static void setRecognizers(UErrorCode &status); | |
30 | ||
57a6839d A |
31 | UBool *fEnabledRecognizers; // If not null, active set of charset recognizers had |
32 | // been changed from the default. The array index is | |
33 | // corresponding to fCSRecognizers. See setDetectableCharset(). | |
34 | ||
73c04bcf A |
35 | public: |
36 | CharsetDetector(UErrorCode &status); | |
37 | ||
38 | ~CharsetDetector(); | |
39 | ||
40 | void setText(const char *in, int32_t len); | |
41 | ||
42 | const CharsetMatch * const *detectAll(int32_t &maxMatchesFound, UErrorCode &status); | |
43 | ||
44 | const CharsetMatch *detect(UErrorCode& status); | |
45 | ||
46 | void setDeclaredEncoding(const char *encoding, int32_t len) const; | |
47 | ||
48 | UBool setStripTagsFlag(UBool flag); | |
49 | ||
50 | UBool getStripTagsFlag() const; | |
51 | ||
46f4442e | 52 | // const char *getCharsetName(int32_t index, UErrorCode& status) const; |
73c04bcf | 53 | |
57a6839d A |
54 | static int32_t getDetectableCount(); |
55 | ||
56 | ||
57 | static UEnumeration * getAllDetectableCharsets(UErrorCode &status); | |
58 | UEnumeration * getDetectableCharsets(UErrorCode &status) const; | |
59 | void setDetectableCharset(const char *encoding, UBool enabled, UErrorCode &status); | |
73c04bcf A |
60 | }; |
61 | ||
62 | U_NAMESPACE_END | |
63 | ||
64 | #endif | |
65 | #endif /* __CSDETECT_H */ |