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

#ifndef __java_lang_ConcreteProcess__
#define __java_lang_ConcreteProcess__

#pragma interface

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

class java::lang::ConcreteProcess : public ::java::lang::Process
{
public:
  void destroy ();
  jint exitValue ();
  ::java::io::InputStream *getErrorStream () { return errorStream; }
  ::java::io::InputStream *getInputStream () { return inputStream; }
  ::java::io::OutputStream *getOutputStream () { return outputStream; }
  jint waitFor ();
  ConcreteProcess (JArray< ::java::lang::String *> *, JArray< ::java::lang::String *> *, ::java::io::File *);
private:
  jboolean hasExited ();
  void startProcess (JArray< ::java::lang::String *> *, JArray< ::java::lang::String *> *, ::java::io::File *);
  void cleanup ();
  ::java::io::OutputStream * __attribute__((aligned(__alignof__( ::java::lang::Process )))) outputStream;
  ::java::io::InputStream *inputStream;
  ::java::io::InputStream *errorStream;
  jint procHandle;
  jint exitCode;
public:

  static ::java::lang::Class class$;
};

#endif /* __java_lang_ConcreteProcess__ */
