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
17U_NAMESPACE_BEGIN
18
19class 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
39U_NAMESPACE_END
40
41#endif
42#endif /* __CSRECOG_H */
43