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

#ifndef __java_nio_channels_WritableByteChannel__
#define __java_nio_channels_WritableByteChannel__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace nio
    {
        class ByteBuffer;
      namespace channels
      {
          class WritableByteChannel;
      }
    }
  }
}

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

public:
  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_WritableByteChannel__
