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

#ifndef __java_security_KeyPair__
#define __java_security_KeyPair__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace security
    {
        class KeyPair;
        class PrivateKey;
        class PublicKey;
    }
  }
}

class java::security::KeyPair : public ::java::lang::Object
{

public:
  KeyPair(::java::security::PublicKey *, ::java::security::PrivateKey *);
  ::java::security::PublicKey * getPublic();
  ::java::security::PrivateKey * getPrivate();
private:
  static const jlong serialVersionUID = -7565189502268009837LL;
  ::java::security::PublicKey * __attribute__((aligned(__alignof__( ::java::lang::Object)))) publicKey;
  ::java::security::PrivateKey * privateKey;
public:
  static ::java::lang::Class class$;
};

#endif // __java_security_KeyPair__
