// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_xml_stream_XMLParser$Input__
#define __gnu_xml_stream_XMLParser$Input__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace stream
      {
          class UnicodeReader;
          class XMLParser$Input;
      }
    }
  }
}

class gnu::xml::stream::XMLParser$Input : public ::java::lang::Object
{

public: // actually package-private
  XMLParser$Input(::java::io::InputStream *, ::java::io::Reader *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean);
public:
  virtual jint getCharacterOffset();
  virtual jint getColumnNumber();
  virtual jint getLineNumber();
  virtual ::java::lang::String * getPublicId();
  virtual ::java::lang::String * getSystemId();
public: // actually package-private
  virtual void init();
  virtual void mark(jint);
  virtual jint read();
  virtual jint read(JArray< jint > *, jint, jint);
  virtual void reset();
private:
  void detectEncoding();
  static jboolean equals(JArray< jint > *, JArray< jint > *);
public: // actually package-private
  virtual void setInputEncoding(::java::lang::String *);
  virtual void finalizeEncoding();
  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) line;
  jint markLine;
  jint column;
  jint markColumn;
  jint offset;
  jint markOffset;
  ::java::lang::String * publicId;
  ::java::lang::String * systemId;
  ::java::lang::String * name;
  jboolean report;
  jboolean normalize;
  ::java::io::InputStream * in;
  ::java::io::Reader * reader;
  ::gnu::xml::stream::UnicodeReader * unicodeReader;
  jboolean initialized;
  jboolean encodingDetected;
  ::java::lang::String * inputEncoding;
  jboolean xml11;
private:
  static JArray< jint > * SIGNATURE_UCS_4_1234;
  static JArray< jint > * SIGNATURE_UCS_4_4321;
  static JArray< jint > * SIGNATURE_UCS_4_2143;
  static JArray< jint > * SIGNATURE_UCS_4_3412;
  static JArray< jint > * SIGNATURE_UCS_2_12;
  static JArray< jint > * SIGNATURE_UCS_2_21;
  static JArray< jint > * SIGNATURE_UCS_2_12_NOBOM;
  static JArray< jint > * SIGNATURE_UCS_2_21_NOBOM;
  static JArray< jint > * SIGNATURE_UTF_8;
  static JArray< jint > * SIGNATURE_UTF_8_BOM;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_stream_XMLParser$Input__