tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

csdetect.h (1962B)


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