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

#ifndef __gnu_java_security_x509_ext_GeneralName__
#define __gnu_java_security_x509_ext_GeneralName__

#pragma interface

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

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace security
      {
        namespace x509
        {
          namespace ext
          {
              class GeneralName;
              class GeneralName$Kind;
          }
        }
      }
    }
  }
}

class gnu::java::security::x509::ext::GeneralName : public ::java::lang::Object
{

public:
  GeneralName(JArray< jbyte > *);
  GeneralName(::gnu::java::security::x509::ext::GeneralName$Kind *, JArray< jbyte > *);
  virtual ::gnu::java::security::x509::ext::GeneralName$Kind * kind();
  virtual JArray< jbyte > * name();
  virtual JArray< jbyte > * encoded();
  virtual jboolean equals(::java::lang::Object *);
  virtual ::java::lang::String * toString();
public: // actually package-private
  static JArray< jint > * $SWITCH_TABLE$gnu$java$security$x509$ext$GeneralName$Kind();
private:
  ::gnu::java::security::x509::ext::GeneralName$Kind * __attribute__((aligned(__alignof__( ::java::lang::Object)))) kind__;
  JArray< jbyte > * name__;
  JArray< jbyte > * encoded__;
  static JArray< jint > * $SWITCH_TABLE$gnu$java$security$x509$ext$GeneralName$Kind__;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_security_x509_ext_GeneralName__
