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

#ifndef __javax_naming_ldap_ControlFactory__
#define __javax_naming_ldap_ControlFactory__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace javax
  {
    namespace naming
    {
        class Context;
      namespace ldap
      {
          class Control;
          class ControlFactory;
      }
    }
  }
}

class javax::naming::ldap::ControlFactory : public ::java::lang::Object
{

public: // actually protected
  ControlFactory();
public:
  virtual ::javax::naming::ldap::Control * getControlInstance(::javax::naming::ldap::Control *) = 0;
  static ::javax::naming::ldap::Control * getControlInstance(::javax::naming::ldap::Control *, ::javax::naming::Context *, ::java::util::Hashtable *);
  static ::java::lang::Class class$;
};

#endif // __javax_naming_ldap_ControlFactory__
