text: 
  // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
  
  #ifndef __javax_crypto_Cipher__
  #define __javax_crypto_Cipher__
  
  #pragma interface
  
  #include <java/lang/Object.h>
  #include <gcj/array.h>
  
  extern "Java"
  {
    namespace java
    {
      namespace nio
      {
          class ByteBuffer;
      }
      namespace security
      {
          class AlgorithmParameters;
          class Key;
          class Provider;
          class SecureRandom;
        namespace cert
        {
            class Certificate;
        }
        namespace spec
        {
            class AlgorithmParameterSpec;
        }
      }
    }
    namespace javax
    {
      namespace crypto
      {
          class Cipher;
          class CipherSpi;
          class ExemptionMechanism;
      }
    }
  }
  
  class javax::crypto::Cipher : public ::java::lang::Object
  {
  
  public:
    static ::javax::crypto::Cipher * getInstance(::java::lang::String *);
    static ::javax::crypto::Cipher * getInstance(::java::lang::String *, ::java::lang::String *);
    static ::javax::crypto::Cipher * getInstance(::java::lang::String *, ::java::security::Provider *);
  public: // actually protected
    Cipher(::javax::crypto::CipherSpi *, ::java::security::Provider *, ::java::lang::String *);
  public:
    virtual ::java::lang::String * getAlgorithm();
    virtual jint getBlockSize();
    virtual ::javax::crypto::ExemptionMechanism * getExemptionMechanism();
    virtual JArray< jbyte > * getIV();
    virtual ::java::security::AlgorithmParameters * getParameters();
    virtual ::java::security::Provider * getProvider();
    virtual JArray< jbyte > * doFinal();
    virtual JArray< jbyte > * doFinal(JArray< jbyte > *);
    virtual JArray< jbyte > * doFinal(JArray< jbyte > *, jint, jint);
    virtual jint doFinal(JArray< jbyte > *, jint);
    virtual jint doFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint);
    virtual jint doFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *);
    virtual jint doFinal(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *);
    virtual jint getOutputSize(jint);
    virtual void init(jint, ::java::security::cert::Certificate *);
    virtual void init(jint, ::java::security::Key *);
    virtual void init(jint, ::java::security::cert::Certificate *, ::java::security::SecureRandom *);
    virtual void init(jint, ::java::security::Key *, ::java::security::SecureRandom *);
    virtual void init(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *);
    virtual void init(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *);
    virtual void init(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *);
    virtual void init(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
    virtual ::java::security::Key * unwrap(JArray< jbyte > *, ::java::lang::String *, jint);
    virtual JArray< jbyte > * update(JArray< jbyte > *);
    virtual JArray< jbyte > * update(JArray< jbyte > *, jint, jint);
    virtual jint update(JArray< jbyte > *, jint, jint, JArray< jbyte > *);
    virtual jint update(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint);
    virtual jint update(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *);
    virtual JArray< jbyte > * wrap(::java::security::Key *);
  private:
    static ::java::lang::String * SERVICE;
  public:
    static const jint DECRYPT_MODE = 2;
    static const jint ENCRYPT_MODE = 1;
    static const jint PRIVATE_KEY = 2;
    static const jint PUBLIC_KEY = 1;
    static const jint SECRET_KEY = 3;
    static const jint UNWRAP_MODE = 4;
    static const jint WRAP_MODE = 3;
  private:
    static const jint INITIAL_STATE = 0;
    ::javax::crypto::CipherSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cipherSpi;
    ::java::security::Provider * provider;
    ::java::lang::String * transformation;
    jint state;
  public:
    static ::java::lang::Class class$;
  };
  
  #endif // __javax_crypto_Cipher__
  