]>
Commit | Line | Data |
---|---|---|
73c04bcf A |
1 | /* |
2 | ********************************************************************** | |
3 | * Copyright (C) 2005-2006, International Business Machines | |
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 | ||
31 | public: | |
32 | CharsetDetector(UErrorCode &status); | |
33 | ||
34 | ~CharsetDetector(); | |
35 | ||
36 | void setText(const char *in, int32_t len); | |
37 | ||
38 | const CharsetMatch * const *detectAll(int32_t &maxMatchesFound, UErrorCode &status); | |
39 | ||
40 | const CharsetMatch *detect(UErrorCode& status); | |
41 | ||
42 | void setDeclaredEncoding(const char *encoding, int32_t len) const; | |
43 | ||
44 | UBool setStripTagsFlag(UBool flag); | |
45 | ||
46 | UBool getStripTagsFlag() const; | |
47 | ||
48 | const char *getCharsetName(int32_t index, UErrorCode& status) const; | |
49 | ||
50 | static int32_t getDetectableCount(); | |
51 | }; | |
52 | ||
53 | U_NAMESPACE_END | |
54 | ||
55 | #endif | |
56 | #endif /* __CSDETECT_H */ |