]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | ********************************************************************** | |
3 | * Copyright (C) 2005-2012, International Business Machines | |
4 | * Corporation and others. All Rights Reserved. | |
5 | ********************************************************************** | |
6 | */ | |
7 | ||
8 | #ifndef __CSMATCH_H | |
9 | #define __CSMATCH_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 | ||
20 | /* | |
21 | * CharsetMatch represents the results produced by one Charset Recognizer for one input text | |
22 | * Any confidence > 0 indicates a possible match, meaning that the input bytes | |
23 | * are at least legal. | |
24 | * | |
25 | * The full results of a detect are represented by an array of these | |
26 | * CharsetMatch objects, each representing a possible matching charset. | |
27 | * | |
28 | * Note that a single charset recognizer may detect multiple closely related | |
29 | * charsets, and set different names depending on the exact input bytes seen. | |
30 | */ | |
31 | class CharsetMatch : public UMemory | |
32 | { | |
33 | private: | |
34 | InputText *textIn; | |
35 | int32_t confidence; | |
36 | const char *fCharsetName; | |
37 | const char *fLang; | |
38 | ||
39 | public: | |
40 | CharsetMatch(); | |
41 | ||
42 | /** | |
43 | * fully set the state of this CharsetMatch. | |
44 | * Called by the CharsetRecognizers to record match results. | |
45 | * Default (NULL) parameters for names will be filled by calling the | |
46 | * corresponding getters on the recognizer. | |
47 | */ | |
48 | void set(InputText *input, | |
49 | const CharsetRecognizer *cr, | |
50 | int32_t conf, | |
51 | const char *csName=NULL, | |
52 | const char *lang=NULL); | |
53 | ||
54 | /** | |
55 | * Return the name of the charset for this Match | |
56 | */ | |
57 | const char *getName() const; | |
58 | ||
59 | const char *getLanguage()const; | |
60 | ||
61 | int32_t getConfidence()const; | |
62 | ||
63 | int32_t getUChars(UChar *buf, int32_t cap, UErrorCode *status) const; | |
64 | }; | |
65 | ||
66 | U_NAMESPACE_END | |
67 | ||
68 | #endif | |
69 | #endif /* __CSMATCH_H */ |