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

#ifndef __java_nio_channels_GatheringByteChannel__
#define __java_nio_channels_GatheringByteChannel__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace nio
    {
        class ByteBuffer;
      namespace channels
      {
          class GatheringByteChannel;
      }
    }
  }
}

class java::nio::channels::GatheringByteChannel : public ::java::lang::Object
{

public:
  virtual jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0;
  virtual jlong write(JArray< ::java::nio::ByteBuffer * > *) = 0;
  virtual jint write(::java::nio::ByteBuffer *) = 0;
  virtual jboolean isOpen() = 0;
  virtual void close() = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_nio_channels_GatheringByteChannel__
