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

#ifndef __gnu_java_security_key_IKeyPairGenerator__
#define __gnu_java_security_key_IKeyPairGenerator__

#pragma interface

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

class gnu::java::security::key::IKeyPairGenerator : public ::java::lang::Object
{

public:
  virtual ::java::lang::String * name() = 0;
  virtual void setup(::java::util::Map *) = 0;
  virtual ::java::security::KeyPair * generate() = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __gnu_java_security_key_IKeyPairGenerator__
