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

#ifndef __java_util_jar_JarInputStream__
#define __java_util_jar_JarInputStream__

#pragma interface

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


class java::util::jar::JarInputStream : public ::java::util::zip::ZipInputStream
{

public:
  JarInputStream(::java::io::InputStream *);
  JarInputStream(::java::io::InputStream *, jboolean);
private:
  void readManifest(jboolean);
public: // actually protected
  virtual ::java::util::zip::ZipEntry * createZipEntry(::java::lang::String *);
public:
  virtual ::java::util::jar::Manifest * getManifest();
  virtual ::java::util::zip::ZipEntry * getNextEntry();
  virtual ::java::util::jar::JarEntry * getNextJarEntry();
  virtual jint read(JArray< jbyte > *, jint, jint);
private:
  ::java::util::jar::Manifest * __attribute__((aligned(__alignof__( ::java::util::zip::ZipInputStream)))) manifest;
  ::java::util::jar::JarEntry * firstEntry;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_jar_JarInputStream__