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

#ifndef __java_io_DataOutput__
#define __java_io_DataOutput__

#pragma interface

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


class java::io::DataOutput : public ::java::lang::Object
{

public:
  virtual void writeBoolean(jboolean) = 0;
  virtual void writeByte(jint) = 0;
  virtual void writeChar(jint) = 0;
  virtual void writeShort(jint) = 0;
  virtual void writeInt(jint) = 0;
  virtual void writeLong(jlong) = 0;
  virtual void writeFloat(jfloat) = 0;
  virtual void writeDouble(jdouble) = 0;
  virtual void writeBytes(::java::lang::String *) = 0;
  virtual void writeChars(::java::lang::String *) = 0;
  virtual void writeUTF(::java::lang::String *) = 0;
  virtual void write(jint) = 0;
  virtual void write(JArray< jbyte > *) = 0;
  virtual void write(JArray< jbyte > *, jint, jint) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_io_DataOutput__
