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

#ifndef __gnu_java_nio_charset_ISO_8859_1$Decoder__
#define __gnu_java_nio_charset_ISO_8859_1$Decoder__

#pragma interface

#include <java/nio/charset/CharsetDecoder.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace nio
      {
        namespace charset
        {
            class ByteDecodeLoopHelper;
            class ISO_8859_1$Decoder;
        }
      }
    }
  }
  namespace java
  {
    namespace nio
    {
        class ByteBuffer;
        class CharBuffer;
      namespace charset
      {
          class Charset;
          class CoderResult;
      }
    }
  }
}

class gnu::java::nio::charset::ISO_8859_1$Decoder : public ::java::nio::charset::CharsetDecoder
{

public: // actually package-private
  ISO_8859_1$Decoder(::java::nio::charset::Charset *);
public: // actually protected
  ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
private:
  static ::gnu::java::nio::charset::ByteDecodeLoopHelper * helper;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_nio_charset_ISO_8859_1$Decoder__
