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

#ifndef __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__
#define __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace lang
      {
        namespace management
        {
            class VMOperatingSystemMXBeanImpl;
        }
      }
    }
  }
}

class gnu::java::lang::management::VMOperatingSystemMXBeanImpl : public ::java::lang::Object
{

public: // actually package-private
  VMOperatingSystemMXBeanImpl();
  static jdouble getSystemLoadAverage();
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__
