]> git.saurik.com Git - apple/icu.git/blob - icuSources/i18n/csdetect.h
ICU-491.11.1.tar.gz
[apple/icu.git] / icuSources / i18n / csdetect.h
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 */