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

#ifndef __gnu_gcj_convert_Input_JavaSrc__
#define __gnu_gcj_convert_Input_JavaSrc__

#pragma interface

#include <gnu/gcj/convert/BytesToUnicode.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace gcj
    {
      namespace convert
      {
          class Input_JavaSrc;
      }
    }
  }
}

class gnu::gcj::convert::Input_JavaSrc : public ::gnu::gcj::convert::BytesToUnicode
{

public:
  Input_JavaSrc();
  virtual ::java::lang::String * getName();
  virtual jint read(JArray< jchar > *, jint, jint);
public: // actually package-private
  jint __attribute__((aligned(__alignof__( ::gnu::gcj::convert::BytesToUnicode)))) state;
  jint value;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_gcj_convert_Input_JavaSrc__
