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

#ifndef __gnu_javax_crypto_jce_params_DEREncodingException__
#define __gnu_javax_crypto_jce_params_DEREncodingException__

#pragma interface

#include <java/io/IOException.h>
extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace crypto
      {
        namespace jce
        {
          namespace params
          {
              class DEREncodingException;
          }
        }
      }
    }
  }
}

class gnu::javax::crypto::jce::params::DEREncodingException : public ::java::io::IOException
{

public:
  DEREncodingException();
  DEREncodingException(::java::lang::String *);
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_crypto_jce_params_DEREncodingException__
