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

#ifndef __javax_management_remote_rmi_RMIConnection__
#define __javax_management_remote_rmi_RMIConnection__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace rmi
    {
        class MarshalledObject;
    }
  }
  namespace javax
  {
    namespace management
    {
        class AttributeList;
        class MBeanInfo;
        class ObjectInstance;
        class ObjectName;
      namespace remote
      {
          class NotificationResult;
        namespace rmi
        {
            class RMIConnection;
        }
      }
    }
    namespace security
    {
      namespace auth
      {
          class Subject;
      }
    }
  }
}

class javax::management::remote::rmi::RMIConnection : public ::java::lang::Object
{

public:
  virtual void addNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *, ::java::rmi::MarshalledObject *, ::java::rmi::MarshalledObject *, ::javax::security::auth::Subject *) = 0;
  virtual JArray< ::java::lang::Integer * > * addNotificationListeners(JArray< ::javax::management::ObjectName * > *, JArray< ::java::rmi::MarshalledObject * > *, JArray< ::javax::security::auth::Subject * > *) = 0;
  virtual void close() = 0;
  virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, ::java::rmi::MarshalledObject *, JArray< ::java::lang::String * > *, ::javax::security::auth::Subject *) = 0;
  virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, ::javax::management::ObjectName *, ::java::rmi::MarshalledObject *, JArray< ::java::lang::String * > *, ::javax::security::auth::Subject *) = 0;
  virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, ::javax::management::ObjectName *, ::javax::security::auth::Subject *) = 0;
  virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, ::javax::security::auth::Subject *) = 0;
  virtual ::javax::management::remote::NotificationResult * fetchNotifications(jlong, jint, jlong) = 0;
  virtual ::java::lang::Object * getAttribute(::javax::management::ObjectName *, ::java::lang::String *, ::javax::security::auth::Subject *) = 0;
  virtual ::javax::management::AttributeList * getAttributes(::javax::management::ObjectName *, JArray< ::java::lang::String * > *, ::javax::security::auth::Subject *) = 0;
  virtual ::java::lang::String * getConnectionId() = 0;
  virtual ::java::lang::String * getDefaultDomain(::javax::security::auth::Subject *) = 0;
  virtual JArray< ::java::lang::String * > * getDomains(::javax::security::auth::Subject *) = 0;
  virtual ::java::lang::Integer * getMBeanCount(::javax::security::auth::Subject *) = 0;
  virtual ::javax::management::MBeanInfo * getMBeanInfo(::javax::management::ObjectName *, ::javax::security::auth::Subject *) = 0;
  virtual ::javax::management::ObjectInstance * getObjectInstance(::javax::management::ObjectName *, ::javax::security::auth::Subject *) = 0;
  virtual ::java::lang::Object * invoke(::javax::management::ObjectName *, ::java::lang::String *, ::java::rmi::MarshalledObject *, JArray< ::java::lang::String * > *, ::javax::security::auth::Subject *) = 0;
  virtual jboolean isInstanceOf(::javax::management::ObjectName *, ::java::lang::String *, ::javax::security::auth::Subject *) = 0;
  virtual jboolean isRegistered(::javax::management::ObjectName *, ::javax::security::auth::Subject *) = 0;
  virtual ::java::util::Set * queryMBeans(::javax::management::ObjectName *, ::java::rmi::MarshalledObject *, ::javax::security::auth::Subject *) = 0;
  virtual ::java::util::Set * queryNames(::javax::management::ObjectName *, ::java::rmi::MarshalledObject *, ::javax::security::auth::Subject *) = 0;
  virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *, ::java::rmi::MarshalledObject *, ::java::rmi::MarshalledObject *, ::javax::security::auth::Subject *) = 0;
  virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *, ::javax::security::auth::Subject *) = 0;
  virtual void removeNotificationListeners(::javax::management::ObjectName *, JArray< ::java::lang::Integer * > *, ::javax::security::auth::Subject *) = 0;
  virtual void setAttribute(::javax::management::ObjectName *, ::java::rmi::MarshalledObject *, ::javax::security::auth::Subject *) = 0;
  virtual ::javax::management::AttributeList * setAttributes(::javax::management::ObjectName *, ::java::rmi::MarshalledObject *, ::javax::security::auth::Subject *) = 0;
  virtual void unregisterMBean(::javax::management::ObjectName *, ::javax::security::auth::Subject *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __javax_management_remote_rmi_RMIConnection__
