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

#ifndef __java_io_PipedInputStream__
#define __java_io_PipedInputStream__

#pragma interface

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


class java::io::PipedInputStream : public ::java::io::InputStream
{

public:
  PipedInputStream();
  PipedInputStream(::java::io::PipedOutputStream *);
  virtual void connect(::java::io::PipedOutputStream *);
public: // actually protected
  virtual void receive(jint);
public: // actually package-private
  virtual void receive(JArray< jbyte > *, jint, jint);
public:
  virtual jint read();
  virtual jint read(JArray< jbyte > *, jint, jint);
  virtual jint available();
  virtual void close();
public: // actually package-private
  ::java::io::PipedOutputStream * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) source;
  jboolean closed;
public: // actually protected
  static const jint PIPE_SIZE = 1024;
  JArray< jbyte > * buffer;
  jint in;
  jint out;
private:
  JArray< jbyte > * read_buf;
public:
  static ::java::lang::Class class$;
};

#endif // __java_io_PipedInputStream__