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

#ifndef __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureRawCodec__
#define __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureRawCodec__

#pragma interface

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

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace security
      {
        namespace sig
        {
          namespace rsa
          {
              class RSAPKCS1V1_5SignatureRawCodec;
          }
        }
      }
    }
  }
}

class gnu::java::security::sig::rsa::RSAPKCS1V1_5SignatureRawCodec : public ::java::lang::Object
{

public:
  RSAPKCS1V1_5SignatureRawCodec();
  virtual jint getFormatID();
  virtual JArray< jbyte > * encodeSignature(::java::lang::Object *);
  virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *);
  static ::java::lang::Class class$;
};

#endif // __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureRawCodec__
