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

#ifndef __javax_management_DynamicMBean__
#define __javax_management_DynamicMBean__

#pragma interface

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

extern "Java"
{
  namespace javax
  {
    namespace management
    {
        class Attribute;
        class AttributeList;
        class DynamicMBean;
        class MBeanInfo;
    }
  }
}

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

public:
  virtual ::java::lang::Object * getAttribute(::java::lang::String *) = 0;
  virtual ::javax::management::AttributeList * getAttributes(JArray< ::java::lang::String * > *) = 0;
  virtual ::javax::management::MBeanInfo * getMBeanInfo() = 0;
  virtual ::java::lang::Object * invoke(::java::lang::String *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *) = 0;
  virtual void setAttribute(::javax::management::Attribute *) = 0;
  virtual ::javax::management::AttributeList * setAttributes(::javax::management::AttributeList *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __javax_management_DynamicMBean__
