// 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
{
private:
  Runtime ();
public:
  static ::java::lang::Runtime *getRuntime ();
  virtual void exit (jint);
  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:
  void init ();
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 *);
  static void insertSystemProperties (::java::util::Properties *);
private:
  JArray< ::java::lang::String *> * __attribute__((aligned(__alignof__( ::java::lang::Object )))) libpath;
public: // actually package-private
  static ::java::lang::SecurityManager *securityManager;
  static ::java::util::Properties *defaultProperties;
private:
  ::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__ */
