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

#ifndef __java_util_zip_ZipOutputStream__
#define __java_util_zip_ZipOutputStream__

#pragma interface

#include <java/util/zip/DeflaterOutputStream.h>
#include <gcj/array.h>


class java::util::zip::ZipOutputStream : public ::java::util::zip::DeflaterOutputStream
{

public:
  ZipOutputStream(::java::io::OutputStream *);
  virtual void setComment(::java::lang::String *);
  virtual void setMethod(jint);
  virtual void setLevel(jint);
private:
  void writeLeShort(jint);
  void writeLeInt(jint);
  void writeLeInt(jlong);
public:
  virtual void putNextEntry(::java::util::zip::ZipEntry *);
  virtual void closeEntry();
  virtual void write(JArray< jbyte > *, jint, jint);
  virtual void finish();
private:
  ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::util::zip::DeflaterOutputStream)))) entries;
  ::java::util::zip::CRC32 * crc;
  ::java::util::zip::ZipEntry * curEntry;
  jint curMethod;
  jint size;
  jint offset;
  JArray< jbyte > * zipComment;
  jint defaultMethod;
  static const jint ZIP_STORED_VERSION = 10;
  static const jint ZIP_DEFLATED_VERSION = 20;
public:
  static const jint STORED = 0;
  static const jint DEFLATED = 8;
  static ::java::lang::Class class$;
};

#endif // __java_util_zip_ZipOutputStream__
