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

#ifndef __gnu_javax_crypto_jce_key_SerpentKeyGeneratorImpl__
#define __gnu_javax_crypto_jce_key_SerpentKeyGeneratorImpl__

#pragma interface

#include <gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h>
extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace crypto
      {
        namespace jce
        {
          namespace key
          {
              class SerpentKeyGeneratorImpl;
          }
        }
      }
    }
  }
}

class gnu::javax::crypto::jce::key::SerpentKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl
{

public:
  SerpentKeyGeneratorImpl();
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_crypto_jce_key_SerpentKeyGeneratorImpl__
