2015-03-04 Robert Dewar <dewar@adacore.com>
[official-gcc.git] / libjava / javax / crypto / KeyAgreement.h
blob5f6b4e7617ced2539d21f7033dbe5899724d94c8
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
4 #ifndef __javax_crypto_KeyAgreement__
5 #define __javax_crypto_KeyAgreement__
7 #pragma interface
9 #include <java/lang/Object.h>
10 #include <gcj/array.h>
12 extern "Java"
14 namespace java
16 namespace security
18 class Key;
19 class Provider;
20 class SecureRandom;
21 namespace spec
23 class AlgorithmParameterSpec;
27 namespace javax
29 namespace crypto
31 class KeyAgreement;
32 class KeyAgreementSpi;
33 class SecretKey;
38 class javax::crypto::KeyAgreement : public ::java::lang::Object
41 public: // actually protected
42 KeyAgreement(::javax::crypto::KeyAgreementSpi *, ::java::security::Provider *, ::java::lang::String *);
43 public:
44 static ::javax::crypto::KeyAgreement * getInstance(::java::lang::String *);
45 static ::javax::crypto::KeyAgreement * getInstance(::java::lang::String *, ::java::lang::String *);
46 static ::javax::crypto::KeyAgreement * getInstance(::java::lang::String *, ::java::security::Provider *);
47 virtual ::java::security::Key * doPhase(::java::security::Key *, jboolean);
48 virtual JArray< jbyte > * generateSecret();
49 virtual jint generateSecret(JArray< jbyte > *, jint);
50 virtual ::javax::crypto::SecretKey * generateSecret(::java::lang::String *);
51 virtual ::java::lang::String * getAlgorithm();
52 virtual ::java::security::Provider * getProvider();
53 virtual void init(::java::security::Key *);
54 virtual void init(::java::security::Key *, ::java::security::SecureRandom *);
55 virtual void init(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *);
56 virtual void init(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
57 private:
58 static ::java::lang::String * SERVICE;
59 ::javax::crypto::KeyAgreementSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) kaSpi;
60 ::java::security::Provider * provider;
61 ::java::lang::String * algorithm;
62 jboolean virgin;
63 public:
64 static ::java::lang::Class class$;
67 #endif // __javax_crypto_KeyAgreement__