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

#ifndef __javax_management_NotificationBroadcaster__
#define __javax_management_NotificationBroadcaster__

#pragma interface

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

extern "Java"
{
  namespace javax
  {
    namespace management
    {
        class MBeanNotificationInfo;
        class NotificationBroadcaster;
        class NotificationFilter;
        class NotificationListener;
    }
  }
}

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

public:
  virtual void addNotificationListener(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *) = 0;
  virtual JArray< ::javax::management::MBeanNotificationInfo * > * getNotificationInfo() = 0;
  virtual void removeNotificationListener(::javax::management::NotificationListener *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __javax_management_NotificationBroadcaster__
