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

#ifndef __javax_management_MBeanRegistration__
#define __javax_management_MBeanRegistration__

#pragma interface

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

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

public:
  virtual void postDeregister() = 0;
  virtual void postRegister(::java::lang::Boolean *) = 0;
  virtual void preDeregister() = 0;
  virtual ::javax::management::ObjectName * preRegister(::javax::management::MBeanServer *, ::javax::management::ObjectName *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __javax_management_MBeanRegistration__
