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

#ifndef __javax_net_ssl_KeyManagerFactorySpi__
#define __javax_net_ssl_KeyManagerFactorySpi__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace security
    {
        class KeyStore;
    }
  }
  namespace javax
  {
    namespace net
    {
      namespace ssl
      {
          class KeyManager;
          class KeyManagerFactorySpi;
          class ManagerFactoryParameters;
      }
    }
  }
}

class javax::net::ssl::KeyManagerFactorySpi : public ::java::lang::Object
{

public:
  KeyManagerFactorySpi();
public: // actually protected
  virtual JArray< ::javax::net::ssl::KeyManager * > * engineGetKeyManagers() = 0;
  virtual void engineInit(::javax::net::ssl::ManagerFactoryParameters *) = 0;
  virtual void engineInit(::java::security::KeyStore *, JArray< jchar > *) = 0;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_net_ssl_KeyManagerFactorySpi__
