// 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 () { return manifest; }
  virtual ::java::util::zip::ZipEntry *getNextEntry ();
  virtual ::java::util::jar::JarEntry *getNextJarEntry ();
  virtual jint read (jbyteArray, 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__ */
