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

#ifndef __javax_naming_Context__
#define __javax_naming_Context__

#pragma interface

#include <java/lang/Object.h>

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

class javax::naming::Context : public ::java::lang::Object
{
public:
  virtual void bind (::javax::naming::Name *, ::java::lang::Object *) = 0;
  virtual void bind (::java::lang::String *, ::java::lang::Object *) = 0;
  virtual ::java::lang::Object *lookup (::javax::naming::Name *) = 0;
  virtual ::java::lang::Object *lookup (::java::lang::String *) = 0;
  virtual void rebind (::javax::naming::Name *, ::java::lang::Object *) = 0;
  virtual void rebind (::java::lang::String *, ::java::lang::Object *) = 0;
  virtual void unbind (::javax::naming::Name *) = 0;
  virtual void unbind (::java::lang::String *) = 0;
  virtual void rename (::javax::naming::Name *, ::javax::naming::Name *) = 0;
  virtual void rename (::java::lang::String *, ::java::lang::String *) = 0;
  virtual ::javax::naming::NamingEnumeration *list (::javax::naming::Name *) = 0;
  virtual ::javax::naming::NamingEnumeration *list (::java::lang::String *) = 0;
  virtual ::javax::naming::NamingEnumeration *listBindings (::javax::naming::Name *) = 0;
  virtual ::javax::naming::NamingEnumeration *listBindings (::java::lang::String *) = 0;
  virtual ::javax::naming::Context *createSubcontext (::javax::naming::Name *) = 0;
  virtual ::javax::naming::Context *createSubcontext (::java::lang::String *) = 0;
  virtual void destroySubcontext (::javax::naming::Name *) = 0;
  virtual void destroySubcontext (::java::lang::String *) = 0;
  virtual ::java::lang::Object *lookupLink (::javax::naming::Name *) = 0;
  virtual ::java::lang::Object *lookupLink (::java::lang::String *) = 0;
  virtual ::javax::naming::NameParser *getNameParser (::javax::naming::Name *) = 0;
  virtual ::javax::naming::NameParser *getNameParser (::java::lang::String *) = 0;
  virtual ::javax::naming::Name *composeName (::javax::naming::Name *, ::javax::naming::Name *) = 0;
  virtual ::java::lang::String *composeName (::java::lang::String *, ::java::lang::String *) = 0;
  virtual ::java::lang::Object *addToEnvironment (::java::lang::String *, ::java::lang::Object *) = 0;
  virtual ::java::lang::Object *removeFromEnvironment (::java::lang::String *) = 0;
  virtual ::java::util::Hashtable *getEnvironment () = 0;
  virtual void close () = 0;
  virtual ::java::lang::String *getNameInNamespace () = 0;
  static ::java::lang::String *INITIAL_CONTEXT_FACTORY;
  static ::java::lang::String *OBJECT_FACTORIES;
  static ::java::lang::String *STATE_FACTORIES;
  static ::java::lang::String *URL_PKG_PREFIXES;
  static ::java::lang::String *PROVIDER_URL;
  static ::java::lang::String *DNS_URL;
  static ::java::lang::String *AUTHORITATIVE;
  static ::java::lang::String *BATCHSIZE;
  static ::java::lang::String *REFERRAL;
  static ::java::lang::String *SECURITY_PROTOCOL;
  static ::java::lang::String *SECURITY_AUTHENTICATION;
  static ::java::lang::String *SECURITY_PRINCIPAL;
  static ::java::lang::String *SECURITY_CREDENTIALS;
  static ::java::lang::String *LANGUAGE;
  static ::java::lang::String *APPLET;

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

#endif /* __javax_naming_Context__ */
