]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/i18n/csrmbcs.h
ICU-57131.0.1.tar.gz
[apple/icu.git] / icuSources / i18n / csrmbcs.h
index 69457f6c22a3c23424f261ef20464cf15f6af1a7..9246a1278cafa98a43684fa67c9f8eecbbbb6732 100644 (file)
@@ -1,6 +1,6 @@
 /*
  **********************************************************************
- *   Copyright (C) 2005-2006, International Business Machines
+ *   Copyright (C) 2005-2012, International Business Machines
  *   Corporation and others.  All Rights Reserved.
  **********************************************************************
  */
@@ -30,18 +30,21 @@ U_NAMESPACE_BEGIN
 class IteratedChar : public UMemory
 {
 public:
-    int32_t charValue;             // 1-4 bytes from the raw input data
-    int32_t index;
-    int32_t nextIndex;
-    UBool   error;
-    UBool   done;
+    uint32_t charValue;             // 1-4 bytes from the raw input data
+    int32_t  index;
+    int32_t  nextIndex;
+    UBool    error;
+    UBool    done;
 
 public:
     IteratedChar();
-    void reset();
+    //void reset();
     int32_t nextByte(InputText* det);
 };
 
+#if U_PLATFORM_IS_DARWIN_BASED
+#define MAX_KEY_STRING_WITH_NULL 16
+#endif
 
 class CharsetRecog_mbcs : public CharsetRecognizer {
 
@@ -58,7 +61,11 @@ protected:
      *             <br/>
      *             bits 8-15: The match reason, an enum-like value.
      */
-    int32_t match_mbcs(InputText* det, const int32_t commonChars[], int32_t commonCharsLen);
+#if U_PLATFORM_IS_DARWIN_BASED
+    int32_t match_mbcs(InputText* det, const uint16_t commonChars[], int32_t commonCharsLen, const uint8_t (*keyStrings)[MAX_KEY_STRING_WITH_NULL] ) const;
+#else
+    int32_t match_mbcs(InputText* det, const uint16_t commonChars[], int32_t commonCharsLen) const;
+#endif
 
 public:
 
@@ -71,7 +78,7 @@ public:
 
     const char *getName() const = 0;
     const char *getLanguage() const = 0;
-    int32_t match(InputText* det) = 0;
+    UBool match(InputText* input, CharsetMatch *results) const = 0;
 
     /**
      * Get the next character (however many bytes it is) from the input data
@@ -85,7 +92,7 @@ public:
      *            being iterated over.
      * @return    True if a character was returned, false at end of input.
      */
-    virtual UBool nextChar(IteratedChar *it, InputText *textIn) = 0;
+    virtual UBool nextChar(IteratedChar *it, InputText *textIn) const = 0;
 
 };
 
@@ -98,9 +105,9 @@ class CharsetRecog_sjis : public CharsetRecog_mbcs {
 public:
     virtual ~CharsetRecog_sjis();
 
-    UBool nextChar(IteratedChar *it, InputText *det);
+    UBool nextChar(IteratedChar *it, InputText *det) const;
 
-    int32_t match(InputText *det);
+    UBool match(InputText* input, CharsetMatch *results) const;
 
     const char *getName() const;
     const char *getLanguage() const;
@@ -122,14 +129,14 @@ public:
     const char *getName() const = 0;
     const char *getLanguage() const = 0;
 
-    int32_t match(InputText* det) = 0;
+    UBool match(InputText* input, CharsetMatch *results) const = 0;
     /*
      *  (non-Javadoc)
      *  Get the next character value for EUC based encodings.
      *  Character "value" is simply the raw bytes that make up the character
      *     packed into an int.
      */
-    UBool nextChar(IteratedChar *it, InputText *det);
+    UBool nextChar(IteratedChar *it, InputText *det) const;
 };
 
 /**
@@ -144,7 +151,7 @@ public:
     const char *getName() const;
     const char *getLanguage() const;
 
-    int32_t match(InputText *det);
+    UBool match(InputText* input, CharsetMatch *results) const;
 };
 
 /**
@@ -159,7 +166,7 @@ public:
     const char *getName() const;
     const char *getLanguage() const;
 
-    int32_t match(InputText *det);
+    UBool match(InputText* input, CharsetMatch *results) const;
 };
 
 /**
@@ -172,12 +179,12 @@ class CharsetRecog_big5 : public CharsetRecog_mbcs
 public:
     virtual ~CharsetRecog_big5();
 
-    UBool nextChar(IteratedChar* it, InputText* det);
+    UBool nextChar(IteratedChar* it, InputText* det) const;
 
     const char *getName() const;
     const char *getLanguage() const;
 
-    int32_t match(InputText *det);
+    UBool match(InputText* input, CharsetMatch *results) const;
 };
 
 
@@ -191,12 +198,12 @@ class CharsetRecog_gb_18030 : public CharsetRecog_mbcs
 public:
     virtual ~CharsetRecog_gb_18030();
 
-    UBool nextChar(IteratedChar* it, InputText* det);
+    UBool nextChar(IteratedChar* it, InputText* det) const;
 
     const char *getName() const;
     const char *getLanguage() const;
 
-    int32_t match(InputText *det);
+    UBool match(InputText* input, CharsetMatch *results) const;
 };
 
 U_NAMESPACE_END