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

#ifndef __gnu_java_nio_ChannelInputStream__
#define __gnu_java_nio_ChannelInputStream__

#pragma interface

#include <java/io/InputStream.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace nio
      {
          class ChannelInputStream;
      }
    }
  }
  namespace java
  {
    namespace nio
    {
      namespace channels
      {
          class ReadableByteChannel;
      }
    }
  }
}

class gnu::java::nio::ChannelInputStream : public ::java::io::InputStream
{

public:
  ChannelInputStream(::java::nio::channels::ReadableByteChannel *);
  jint read(JArray< jbyte > *, jint, jint);
  jint read();
private:
  ::java::nio::channels::ReadableByteChannel * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) ch;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_nio_ChannelInputStream__
