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

#ifndef __javax_naming_ldap_InitialLdapContext__
#define __javax_naming_ldap_InitialLdapContext__

#pragma interface

#include <javax/naming/directory/InitialDirContext.h>
#include <gcj/array.h>

extern "Java"
{
  namespace javax
  {
    namespace naming
    {
      namespace ldap
      {
          class Control;
          class ExtendedRequest;
          class ExtendedResponse;
          class InitialLdapContext;
          class LdapContext;
      }
    }
  }
}

class javax::naming::ldap::InitialLdapContext : public ::javax::naming::directory::InitialDirContext
{

public:
  InitialLdapContext();
  InitialLdapContext(::java::util::Hashtable *, JArray< ::javax::naming::ldap::Control * > *);
private:
  ::javax::naming::ldap::LdapContext * getDefaultInitLdapCtx();
public:
  virtual ::javax::naming::ldap::ExtendedResponse * extendedOperation(::javax::naming::ldap::ExtendedRequest *);
  virtual JArray< ::javax::naming::ldap::Control * > * getConnectControls();
  virtual JArray< ::javax::naming::ldap::Control * > * getRequestControls();
  virtual JArray< ::javax::naming::ldap::Control * > * getResponseControls();
  virtual ::javax::naming::ldap::LdapContext * newInstance(JArray< ::javax::naming::ldap::Control * > *);
  virtual void reconnect(JArray< ::javax::naming::ldap::Control * > *);
  virtual void setRequestControls(JArray< ::javax::naming::ldap::Control * > *);
  static ::java::lang::Class class$;
};

#endif // __javax_naming_ldap_InitialLdapContext__