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

#ifndef __javax_naming_ldap_ExtendedResponse__
#define __javax_naming_ldap_ExtendedResponse__

#pragma interface

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

extern "Java"
{
  namespace javax
  {
    namespace naming
    {
      namespace ldap
      {
          class ExtendedResponse;
      }
    }
  }
}

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

public:
  virtual ::java::lang::String * getID() = 0;
  virtual JArray< jbyte > * getEncodedValue() = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __javax_naming_ldap_ExtendedResponse__
