// 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>

extern "Java"
{
  namespace java
  {
    namespace beans
    {
      namespace beancontext
      {
        class BeanContextServices;
        class BeanContextServicesListener;
        class BeanContextServiceRevokedListener;
        class BeanContextChild;
        class BeanContextServiceProvider;
      }
    }
  }
};

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;

  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif /* __java_beans_beancontext_BeanContextServices__ */
