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

#ifndef __javax_naming_InitialContext__
#define __javax_naming_InitialContext__

#pragma interface

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

extern "Java"
{
  namespace javax
  {
    namespace naming
    {
        class Context;
        class InitialContext;
        class Name;
        class NameParser;
        class NamingEnumeration;
    }
  }
}

class javax::naming::InitialContext : public ::java::lang::Object
{

public:
  InitialContext(::java::util::Hashtable *);
public: // actually protected
  InitialContext(jboolean);
public:
  InitialContext();
public: // actually protected
  virtual void init(::java::util::Hashtable *);
public: // actually package-private
  static void merge(::java::util::Hashtable *, ::java::util::Hashtable *);
public: // actually protected
  virtual ::javax::naming::Context * getDefaultInitCtx();
  virtual ::javax::naming::Context * getURLOrDefaultInitCtx(::javax::naming::Name *);
  virtual ::javax::naming::Context * getURLOrDefaultInitCtx(::java::lang::String *);
public:
  virtual void bind(::javax::naming::Name *, ::java::lang::Object *);
  virtual void bind(::java::lang::String *, ::java::lang::Object *);
  virtual ::java::lang::Object * lookup(::javax::naming::Name *);
  virtual ::java::lang::Object * lookup(::java::lang::String *);
  virtual void rebind(::javax::naming::Name *, ::java::lang::Object *);
  virtual void rebind(::java::lang::String *, ::java::lang::Object *);
  virtual void unbind(::javax::naming::Name *);
  virtual void unbind(::java::lang::String *);
  virtual void rename(::javax::naming::Name *, ::javax::naming::Name *);
  virtual void rename(::java::lang::String *, ::java::lang::String *);
  virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *);
  virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *);
  virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *);
  virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *);
  virtual void destroySubcontext(::javax::naming::Name *);
  virtual void destroySubcontext(::java::lang::String *);
  virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *);
  virtual ::javax::naming::Context * createSubcontext(::java::lang::String *);
  virtual ::java::lang::Object * lookupLink(::javax::naming::Name *);
  virtual ::java::lang::Object * lookupLink(::java::lang::String *);
  virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *);
  virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *);
  virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *);
  virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *);
  virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *);
  virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *);
  virtual ::java::util::Hashtable * getEnvironment();
  virtual void close();
  virtual ::java::lang::String * getNameInNamespace();
public: // actually protected
  ::javax::naming::Context * __attribute__((aligned(__alignof__( ::java::lang::Object)))) defaultInitCtx;
  jboolean gotDefault;
  ::java::util::Hashtable * myProps;
public: // actually package-private
  static ::java::util::HashSet * colon_list;
  static JArray< ::java::lang::String * > * use_properties;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_naming_InitialContext__
