Home | History | Annotate | Download | only in i18n
      1 /*
      2  **********************************************************************
      3  *   Copyright (C) 2005-2008, International Business Machines
      4  *   Corporation and others.  All Rights Reserved.
      5  **********************************************************************
      6  */
      7 
      8 #ifndef __INPUTEXT_H
      9 #define __INPUTEXT_H
     10 
     11 /**
     12  * \file
     13  * \internal
     14  *
     15  * This is an internal header for the Character Set Detection code. The
     16  * name is probably too generic...
     17  */
     18 
     19 
     20 #include "unicode/uobject.h"
     21 
     22 #if !UCONFIG_NO_CONVERSION
     23 
     24 U_NAMESPACE_BEGIN
     25 
     26 class InputText : public UMemory
     27 {
     28     // Prevent copying
     29     InputText(const InputText &);
     30 public:
     31     InputText(UErrorCode &status);
     32     ~InputText();
     33 
     34     void setText(const char *in, int32_t len);
     35     void setDeclaredEncoding(const char *encoding, int32_t len);
     36     UBool isSet() const;
     37     void MungeInput(UBool fStripTags);
     38 
     39     // The text to be checked.  Markup will have been
     40     //   removed if appropriate.
     41     uint8_t    *fInputBytes;
     42     int32_t     fInputLen;          // Length of the byte data in fInputBytes.
     43     // byte frequency statistics for the input text.
     44     //   Value is percent, not absolute.
     45     //   Value is rounded up, so zero really means zero occurences.
     46     int16_t  *fByteStats;
     47     UBool     fC1Bytes;          // True if any bytes in the range 0x80 - 0x9F are in the input;false by default
     48     char     *fDeclaredEncoding;
     49 
     50     const uint8_t           *fRawInput;     // Original, untouched input bytes.
     51     //  If user gave us a byte array, this is it.
     52     //  If user gave us a stream, it's read to a
     53     //   buffer here.
     54     int32_t                  fRawLength;    // Length of data in fRawInput array.
     55 
     56 };
     57 
     58 U_NAMESPACE_END
     59 
     60 #endif
     61 #endif /* __INPUTEXT_H */
     62