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

#ifndef __java_nio_channels_Pipe$SourceChannel__
#define __java_nio_channels_Pipe$SourceChannel__

#pragma interface

#include <java/nio/channels/spi/AbstractSelectableChannel.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace nio
    {
        class ByteBuffer;
      namespace channels
      {
          class Pipe$SourceChannel;
        namespace spi
        {
            class SelectorProvider;
        }
      }
    }
  }
}

class java::nio::channels::Pipe$SourceChannel : public ::java::nio::channels::spi::AbstractSelectableChannel
{

public: // actually protected
  Pipe$SourceChannel(::java::nio::channels::spi::SelectorProvider *);
public:
  virtual jint validOps();
  virtual jint read(::java::nio::ByteBuffer *) = 0;
  virtual jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0;
  virtual jlong read(JArray< ::java::nio::ByteBuffer * > *) = 0;
  static ::java::lang::Class class$;
};

#endif // __java_nio_channels_Pipe$SourceChannel__
