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

#ifndef __gnu_xml_aelfred2_XmlParser$Input__
#define __gnu_xml_aelfred2_XmlParser$Input__

#pragma interface

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

extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace aelfred2
      {
          class XmlParser$Input;
      }
    }
  }
  namespace java
  {
    namespace net
    {
        class URLConnection;
    }
  }
}

class gnu::xml::aelfred2::XmlParser$Input : public ::java::lang::Object
{

public: // actually package-private
  XmlParser$Input();
  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) sourceType;
  ::java::net::URLConnection * externalEntity;
  JArray< jchar > * readBuffer;
  jint readBufferPos;
  jint readBufferLength;
  jint line;
  jint encoding;
  jint readBufferOverflow;
  ::java::io::InputStream * is;
  jint currentByteCount;
  jint column;
  ::java::io::Reader * reader;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_aelfred2_XmlParser$Input__
