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

#ifndef __gnu_javax_net_ssl_SessionStoreException__
#define __gnu_javax_net_ssl_SessionStoreException__

#pragma interface

#include <javax/net/ssl/SSLException.h>
extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace net
      {
        namespace ssl
        {
            class SessionStoreException;
        }
      }
    }
  }
}

class gnu::javax::net::ssl::SessionStoreException : public ::javax::net::ssl::SSLException
{

public:
  SessionStoreException(::java::lang::String *);
  SessionStoreException(::java::lang::String *, ::java::lang::Throwable *);
  SessionStoreException(::java::lang::Throwable *);
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_net_ssl_SessionStoreException__
