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

#ifndef __java_beans_beancontext_BeanContextChildSupport__
#define __java_beans_beancontext_BeanContextChildSupport__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace beans
    {
        class PropertyChangeListener;
        class PropertyChangeSupport;
        class VetoableChangeListener;
        class VetoableChangeSupport;
      namespace beancontext
      {
          class BeanContext;
          class BeanContextChild;
          class BeanContextChildSupport;
          class BeanContextServiceAvailableEvent;
          class BeanContextServiceRevokedEvent;
      }
    }
  }
}

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

public:
  BeanContextChildSupport();
  BeanContextChildSupport(::java::beans::beancontext::BeanContextChild *);
  virtual void setBeanContext(::java::beans::beancontext::BeanContext *);
  virtual ::java::beans::beancontext::BeanContext * getBeanContext();
  virtual ::java::beans::beancontext::BeanContextChild * getBeanContextChildPeer();
  virtual jboolean isDelegated();
  virtual void addPropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *);
  virtual void removePropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *);
  virtual void addVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *);
  virtual void removeVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *);
  virtual void firePropertyChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *);
  virtual void fireVetoableChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *);
  virtual void serviceRevoked(::java::beans::beancontext::BeanContextServiceRevokedEvent *);
  virtual void serviceAvailable(::java::beans::beancontext::BeanContextServiceAvailableEvent *);
  virtual jboolean validatePendingSetBeanContext(::java::beans::beancontext::BeanContext *);
public: // actually protected
  virtual void releaseBeanContextResources();
  virtual void initializeBeanContextResources();
public: // actually package-private
  static const jlong serialVersionUID = 6328947014421475877LL;
public:
  ::java::beans::beancontext::BeanContextChild * __attribute__((aligned(__alignof__( ::java::lang::Object)))) beanContextChildPeer;
public: // actually protected
  ::java::beans::beancontext::BeanContext * beanContext;
  jboolean rejectedSetBCOnce;
  ::java::beans::PropertyChangeSupport * pcSupport;
  ::java::beans::VetoableChangeSupport * vcSupport;
public:
  static ::java::lang::Class class$;
};

#endif // __java_beans_beancontext_BeanContextChildSupport__