• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 */
57