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 15U_NAMESPACE_BEGIN 16 17class InputText; 18class CharsetRecognizer; 19class CharsetMatch; 20 21class CharsetDetector : public UMemory 22{ 23private: 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 31public: 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 53U_NAMESPACE_END 54 55#endif 56#endif /* __CSDETECT_H */ 57