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

#ifndef __javax_management_QueryEval__
#define __javax_management_QueryEval__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace javax
  {
    namespace management
    {
        class MBeanServer;
        class QueryEval;
    }
  }
}

class javax::management::QueryEval : public ::java::lang::Object
{

public:
  QueryEval();
  static ::javax::management::MBeanServer * getMBeanServer();
  virtual void setMBeanServer(::javax::management::MBeanServer *);
private:
  static const jlong serialVersionUID = 2675899265640874796LL;
  static ::java::lang::InheritableThreadLocal * server;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_management_QueryEval__
