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

#ifndef __java_lang_Runtime__
#define __java_lang_Runtime__

#pragma interface

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


class java::lang::Runtime : public ::java::lang::Object
{

  Runtime();
public:
  static ::java::lang::Runtime * getRuntime();
  virtual void exit(jint);
public: // actually package-private
  static void exitNoChecksAccessor(jint);
private:
  void exitNoChecks(jint);
public: // actually package-private
  virtual jboolean runShutdownHooks();
public:
  virtual void addShutdownHook(::java::lang::Thread *);
  virtual jboolean removeShutdownHook(::java::lang::Thread *);
  virtual void halt(jint);
  static void runFinalizersOnExit(jboolean);
  virtual ::java::lang::Process * exec(::java::lang::String *);
  virtual ::java::lang::Process * exec(::java::lang::String *, JArray< ::java::lang::String * > *);
  virtual ::java::lang::Process * exec(::java::lang::String *, JArray< ::java::lang::String * > *, ::java::io::File *);
  virtual ::java::lang::Process * exec(JArray< ::java::lang::String * > *);
  virtual ::java::lang::Process * exec(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *);
  virtual ::java::lang::Process * exec(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::io::File *);
  virtual jint availableProcessors();
  virtual jlong freeMemory();
  virtual jlong totalMemory();
  virtual jlong maxMemory();
  virtual void gc();
  virtual void runFinalization();
  virtual void traceInstructions(jboolean);
  virtual void traceMethodCalls(jboolean);
  virtual void load(::java::lang::String *);
  virtual void loadLibrary(::java::lang::String *);
  virtual ::java::io::InputStream * getLocalizedInputStream(::java::io::InputStream *);
  virtual ::java::io::OutputStream * getLocalizedOutputStream(::java::io::OutputStream *);
public: // actually package-private
  virtual void exitInternal(jint);
  virtual void _load(::java::lang::String *, jboolean);
  virtual jboolean loadLibraryInternal(::java::lang::String *);
private:
  static void init();
  void runFinalizationForExit();
public: // actually package-private
  static ::java::lang::String * nativeGetLibname(::java::lang::String *, ::java::lang::String *);
  virtual ::java::lang::Process * execInternal(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::io::File *);
private:
  JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) libpath;
  ::java::lang::Thread * exitSequence;
  ::java::util::Set * shutdownHooks;
  jboolean finalizeOnExit;
  static ::java::lang::Runtime * current;
public:
  static ::java::lang::Class class$;
};

#endif // __java_lang_Runtime__
