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

#ifndef __gnu_java_security_x509_X500DistinguishedName__
#define __gnu_java_security_x509_X500DistinguishedName__

#pragma interface

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

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace security
      {
        namespace x509
        {
          class X500DistinguishedName;
        }
        class OID;
      }
    }
  }
}

class gnu::java::security::x509::X500DistinguishedName : public ::java::lang::Object
{
public:
  X500DistinguishedName (::java::lang::String *);
  X500DistinguishedName (jbyteArray);
  X500DistinguishedName (::java::io::InputStream *);
  virtual jboolean equals (::java::lang::Object *);
  virtual jbyteArray getEncoded ();
private:
  static ::java::lang::String *quote (::java::lang::String *);
public:
  virtual ::java::lang::String *toRFC1779 ();
  virtual ::java::lang::String *toRFC2253 ();
  virtual ::java::lang::String *toCanonical ();
  virtual ::java::lang::String *getCommonName () { return commonName; }
  virtual ::java::lang::String *getCountry () { return country; }
  virtual ::java::lang::String *getLocality () { return locality; }
  virtual ::java::lang::String *getOrganizationalUnit () { return orgUnit; }
  virtual ::java::lang::String *getOrganization () { return organization; }
  virtual ::java::lang::String *getStreet () { return street; }
  virtual ::java::lang::String *getState () { return state; }
  virtual ::java::lang::String *getTitle () { return title; }
  virtual ::java::lang::String *getDNQualifier () { return dnQualifier; }
  virtual ::java::lang::String *getSurname () { return surname; }
  virtual ::java::lang::String *getGivenName () { return givenName; }
  virtual ::java::lang::String *getInitials () { return initials; }
  virtual ::java::lang::String *getGeneration () { return generation; }
  virtual ::java::lang::String *getEmail () { return email; }
  virtual ::java::lang::String *getDomain () { return domainComponent; }
  virtual ::java::lang::String *getUserID () { return userid; }
private:
  static ::java::lang::String *unquote (::java::lang::String *);
  void parseDN (::java::lang::String *, jboolean);
  void parseDER (::java::io::InputStream *);
  jbyteArray encodeDER ();
  void setAttribute (::java::lang::String *, ::java::lang::String *);
  void setAttribute (::gnu::java::security::OID *, ::java::lang::String *);
public:
  static ::gnu::java::security::OID *CN;
  static ::gnu::java::security::OID *C;
  static ::gnu::java::security::OID *L;
  static ::gnu::java::security::OID *ST;
  static ::gnu::java::security::OID *STREET;
  static ::gnu::java::security::OID *O;
  static ::gnu::java::security::OID *OU;
  static ::gnu::java::security::OID *T;
  static ::gnu::java::security::OID *DNQ;
  static ::gnu::java::security::OID *NAME;
  static ::gnu::java::security::OID *GIVENNAME;
  static ::gnu::java::security::OID *INITIALS;
  static ::gnu::java::security::OID *GENERATION;
  static ::gnu::java::security::OID *EMAIL;
  static ::gnu::java::security::OID *DC;
  static ::gnu::java::security::OID *UID;
private:
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object )))) commonName;
  ::java::lang::String *country;
  ::java::lang::String *locality;
  ::java::lang::String *orgUnit;
  ::java::lang::String *organization;
  ::java::lang::String *street;
  ::java::lang::String *state;
  ::java::lang::String *title;
  ::java::lang::String *dnQualifier;
  ::java::lang::String *surname;
  ::java::lang::String *givenName;
  ::java::lang::String *initials;
  ::java::lang::String *generation;
  ::java::lang::String *email;
  ::java::lang::String *domainComponent;
  ::java::lang::String *userid;
  ::java::lang::String *nameRFC1779;
  ::java::lang::String *nameRFC2253;
  ::java::lang::String *nameCanonical;
  jbyteArray encoded;
public:

  static ::java::lang::Class class$;
};

#endif /* __gnu_java_security_x509_X500DistinguishedName__ */
