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

#ifndef __java_security_ProviderException__
#define __java_security_ProviderException__

#pragma interface

#include <java/lang/RuntimeException.h>
extern "Java"
{
  namespace java
  {
    namespace security
    {
        class ProviderException;
    }
  }
}

class java::security::ProviderException : public ::java::lang::RuntimeException
{

public:
  ProviderException();
  ProviderException(::java::lang::String *);
  ProviderException(::java::lang::String *, ::java::lang::Throwable *);
  ProviderException(::java::lang::Throwable *);
private:
  static const jlong serialVersionUID = 5256023526693665674LL;
public:
  static ::java::lang::Class class$;
};

#endif // __java_security_ProviderException__
