61607c2773
X-SVN-Rev: 38848
72 lines
2.1 KiB
C++
72 lines
2.1 KiB
C++
// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
|
// License & terms of use: http://www.unicode.org/copyright.html
|
|
/*
|
|
**********************************************************************
|
|
* Copyright (C) 2005-2012, International Business Machines
|
|
* Corporation and others. All Rights Reserved.
|
|
**********************************************************************
|
|
*/
|
|
|
|
#ifndef __CSMATCH_H
|
|
#define __CSMATCH_H
|
|
|
|
#include "unicode/uobject.h"
|
|
|
|
#if !UCONFIG_NO_CONVERSION
|
|
|
|
U_NAMESPACE_BEGIN
|
|
|
|
class InputText;
|
|
class CharsetRecognizer;
|
|
|
|
/*
|
|
* CharsetMatch represents the results produced by one Charset Recognizer for one input text
|
|
* Any confidence > 0 indicates a possible match, meaning that the input bytes
|
|
* are at least legal.
|
|
*
|
|
* The full results of a detect are represented by an array of these
|
|
* CharsetMatch objects, each representing a possible matching charset.
|
|
*
|
|
* Note that a single charset recognizer may detect multiple closely related
|
|
* charsets, and set different names depending on the exact input bytes seen.
|
|
*/
|
|
class CharsetMatch : public UMemory
|
|
{
|
|
private:
|
|
InputText *textIn;
|
|
int32_t confidence;
|
|
const char *fCharsetName;
|
|
const char *fLang;
|
|
|
|
public:
|
|
CharsetMatch();
|
|
|
|
/**
|
|
* fully set the state of this CharsetMatch.
|
|
* Called by the CharsetRecognizers to record match results.
|
|
* Default (NULL) parameters for names will be filled by calling the
|
|
* corresponding getters on the recognizer.
|
|
*/
|
|
void set(InputText *input,
|
|
const CharsetRecognizer *cr,
|
|
int32_t conf,
|
|
const char *csName=NULL,
|
|
const char *lang=NULL);
|
|
|
|
/**
|
|
* Return the name of the charset for this Match
|
|
*/
|
|
const char *getName() const;
|
|
|
|
const char *getLanguage()const;
|
|
|
|
int32_t getConfidence()const;
|
|
|
|
int32_t getUChars(UChar *buf, int32_t cap, UErrorCode *status) const;
|
|
};
|
|
|
|
U_NAMESPACE_END
|
|
|
|
#endif
|
|
#endif /* __CSMATCH_H */
|