1 /* 2 ********************************************************************** 3 * Copyright (C) 2005-2006, International Business Machines 4 * Corporation and others. All Rights Reserved. 5 ********************************************************************** 6 */ 7 8 #ifndef __CSRECOG_H 9 #define __CSRECOG_H 10 11 #include "unicode/uobject.h" 12 13 #if !UCONFIG_NO_CONVERSION 14 15 #include "inputext.h" 16 17 U_NAMESPACE_BEGIN 18 19 class CharsetRecognizer : public UMemory 20 { 21 public: 22 /** 23 * Get the IANA name of this charset. 24 * @return the charset name. 25 */ 26 virtual const char *getName() const = 0; 27 28 /** 29 * Get the ISO language code for this charset. 30 * @return the language code, or <code>null</code> if the language cannot be determined. 31 */ 32 virtual const char *getLanguage() const; 33 34 virtual int32_t match(InputText *textIn) = 0; 35 36 virtual ~CharsetRecognizer(); 37 }; 38 39 U_NAMESPACE_END 40 41 #endif 42 #endif /* __CSRECOG_H */ 43