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

#ifndef __java_security_SecureRandomSpi__
#define __java_security_SecureRandomSpi__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace security
    {
        class SecureRandomSpi;
    }
  }
}

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

public:
  SecureRandomSpi();
public: // actually protected
  virtual void engineSetSeed(JArray< jbyte > *) = 0;
  virtual void engineNextBytes(JArray< jbyte > *) = 0;
  virtual JArray< jbyte > * engineGenerateSeed(jint) = 0;
private:
  static const jlong serialVersionUID = -2991854161009191830LL;
public:
  static ::java::lang::Class class$;
};

#endif // __java_security_SecureRandomSpi__
