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

#ifndef __java_security_spec_RSAPublicKeySpec__
#define __java_security_spec_RSAPublicKeySpec__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace math
    {
        class BigInteger;
    }
    namespace security
    {
      namespace spec
      {
          class RSAPublicKeySpec;
      }
    }
  }
}

class java::security::spec::RSAPublicKeySpec : public ::java::lang::Object
{

public:
  RSAPublicKeySpec(::java::math::BigInteger *, ::java::math::BigInteger *);
  virtual ::java::math::BigInteger * getModulus();
  virtual ::java::math::BigInteger * getPublicExponent();
private:
  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) modulus;
  ::java::math::BigInteger * publicExponent;
public:
  static ::java::lang::Class class$;
};

#endif // __java_security_spec_RSAPublicKeySpec__
