summaryrefslogtreecommitdiffstats
path: root/intl/icu/source/i18n/csdetect.h
diff options
context:
space:
mode:
Diffstat (limited to 'intl/icu/source/i18n/csdetect.h')
-rw-r--r--intl/icu/source/i18n/csdetect.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/intl/icu/source/i18n/csdetect.h b/intl/icu/source/i18n/csdetect.h
new file mode 100644
index 0000000000..d4bfa75eef
--- /dev/null
+++ b/intl/icu/source/i18n/csdetect.h
@@ -0,0 +1,69 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+/*
+ **********************************************************************
+ * Copyright (C) 2005-2016, International Business Machines
+ * Corporation and others. All Rights Reserved.
+ **********************************************************************
+ */
+
+#ifndef __CSDETECT_H
+#define __CSDETECT_H
+
+#include "unicode/uobject.h"
+
+#if !UCONFIG_NO_CONVERSION
+
+#include "unicode/uenum.h"
+
+U_NAMESPACE_BEGIN
+
+class InputText;
+class CharsetRecognizer;
+class CharsetMatch;
+
+class CharsetDetector : public UMemory
+{
+private:
+ InputText *textIn;
+ CharsetMatch **resultArray;
+ int32_t resultCount;
+ UBool fStripTags; // If true, setText() will strip tags from input text.
+ UBool fFreshTextSet;
+ static void setRecognizers(UErrorCode &status);
+
+ UBool *fEnabledRecognizers; // If not null, active set of charset recognizers had
+ // been changed from the default. The array index is
+ // corresponding to fCSRecognizers. See setDetectableCharset().
+
+public:
+ CharsetDetector(UErrorCode &status);
+
+ ~CharsetDetector();
+
+ void setText(const char *in, int32_t len);
+
+ const CharsetMatch * const *detectAll(int32_t &maxMatchesFound, UErrorCode &status);
+
+ const CharsetMatch *detect(UErrorCode& status);
+
+ void setDeclaredEncoding(const char *encoding, int32_t len) const;
+
+ UBool setStripTagsFlag(UBool flag);
+
+ UBool getStripTagsFlag() const;
+
+// const char *getCharsetName(int32_t index, UErrorCode& status) const;
+
+ static int32_t getDetectableCount();
+
+
+ static UEnumeration * getAllDetectableCharsets(UErrorCode &status);
+ UEnumeration * getDetectableCharsets(UErrorCode &status) const;
+ void setDetectableCharset(const char *encoding, UBool enabled, UErrorCode &status);
+};
+
+U_NAMESPACE_END
+
+#endif
+#endif /* __CSDETECT_H */