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

#ifndef __java_beans_beancontext_BeanContextServices__
#define __java_beans_beancontext_BeanContextServices__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace beans
    {
        class PropertyChangeListener;
        class VetoableChangeListener;
      namespace beancontext
      {
          class BeanContext;
          class BeanContextChild;
          class BeanContextMembershipListener;
          class BeanContextServiceAvailableEvent;
          class BeanContextServiceProvider;
          class BeanContextServiceRevokedEvent;
          class BeanContextServiceRevokedListener;
          class BeanContextServices;
          class BeanContextServicesListener;
      }
    }
    namespace net
    {
        class URL;
    }
  }
}

class java::beans::beancontext::BeanContextServices : public ::java::lang::Object
{

public:
  virtual jboolean addService(::java::lang::Class *, ::java::beans::beancontext::BeanContextServiceProvider *) = 0;
  virtual void revokeService(::java::lang::Class *, ::java::beans::beancontext::BeanContextServiceProvider *, jboolean) = 0;
  virtual void releaseService(::java::beans::beancontext::BeanContextChild *, ::java::lang::Object *, ::java::lang::Object *) = 0;
  virtual ::java::lang::Object * getService(::java::beans::beancontext::BeanContextChild *, ::java::lang::Object *, ::java::lang::Class *, ::java::lang::Object *, ::java::beans::beancontext::BeanContextServiceRevokedListener *) = 0;
  virtual ::java::util::Iterator * getCurrentServiceClasses() = 0;
  virtual ::java::util::Iterator * getCurrentServiceSelectors(::java::lang::Class *) = 0;
  virtual jboolean hasService(::java::lang::Class *) = 0;
  virtual void addBeanContextServicesListener(::java::beans::beancontext::BeanContextServicesListener *) = 0;
  virtual void removeBeanContextServicesListener(::java::beans::beancontext::BeanContextServicesListener *) = 0;
  virtual ::java::lang::Object * instantiateChild(::java::lang::String *) = 0;
  virtual ::java::net::URL * getResource(::java::lang::String *, ::java::beans::beancontext::BeanContextChild *) = 0;
  virtual ::java::io::InputStream * getResourceAsStream(::java::lang::String *, ::java::beans::beancontext::BeanContextChild *) = 0;
  virtual void addBeanContextMembershipListener(::java::beans::beancontext::BeanContextMembershipListener *) = 0;
  virtual void removeBeanContextMembershipListener(::java::beans::beancontext::BeanContextMembershipListener *) = 0;
  virtual jboolean add(::java::lang::Object *) = 0;
  virtual jboolean addAll(::java::util::Collection *) = 0;
  virtual void clear() = 0;
  virtual jboolean contains(::java::lang::Object *) = 0;
  virtual jboolean containsAll(::java::util::Collection *) = 0;
  virtual jboolean isEmpty() = 0;
  virtual ::java::util::Iterator * iterator() = 0;
  virtual jboolean remove(::java::lang::Object *) = 0;
  virtual jboolean removeAll(::java::util::Collection *) = 0;
  virtual jboolean retainAll(::java::util::Collection *) = 0;
  virtual jint size() = 0;
  virtual JArray< ::java::lang::Object * > * toArray() = 0;
  virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0;
  virtual void setBeanContext(::java::beans::beancontext::BeanContext *) = 0;
  virtual ::java::beans::beancontext::BeanContext * getBeanContext() = 0;
  virtual void addPropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *) = 0;
  virtual void removePropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *) = 0;
  virtual void addVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *) = 0;
  virtual void removeVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *) = 0;
  virtual jboolean needsGui() = 0;
  virtual jboolean avoidingGui() = 0;
  virtual void dontUseGui() = 0;
  virtual void okToUseGui() = 0;
  virtual void setDesignTime(jboolean) = 0;
  virtual jboolean isDesignTime() = 0;
  virtual void serviceAvailable(::java::beans::beancontext::BeanContextServiceAvailableEvent *) = 0;
  virtual void serviceRevoked(::java::beans::beancontext::BeanContextServiceRevokedEvent *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_beans_beancontext_BeanContextServices__
