1 
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
3 
4 #ifndef __gnu_javax_net_ssl_provider_ServerHandshake__
5 #define __gnu_javax_net_ssl_provider_ServerHandshake__
6 
7 #pragma interface
8 
9 #include <gnu/javax/net/ssl/provider/AbstractHandshake.h>
10 #include <gcj/array.h>
11 
12 extern "Java"
13 {
14   namespace gnu
15   {
16     namespace javax
17     {
18       namespace net
19       {
20         namespace ssl
21         {
22           namespace provider
23           {
24               class AbstractHandshake$CertVerifier;
25               class CipherSuite;
26               class CipherSuiteList;
27               class CompressionMethod;
28               class CompressionMethodList;
29               class DelegatedTask;
30               class ProtocolVersion;
31               class SSLEngineImpl;
32               class ServerHandshake;
33               class ServerHandshake$CertLoader;
34               class ServerHandshake$GenDH;
35               class ServerHandshake$State;
36               class ServerNameList;
37           }
38         }
39       }
40     }
41   }
42   namespace java
43   {
44     namespace nio
45     {
46         class ByteBuffer;
47     }
48     namespace security
49     {
50         class KeyPair;
51         class PrivateKey;
52       namespace cert
53       {
54           class X509Certificate;
55       }
56     }
57   }
58   namespace javax
59   {
60     namespace net
61     {
62       namespace ssl
63       {
64           class SSLEngineResult$HandshakeStatus;
65       }
66     }
67   }
68 }
69 
70 class gnu::javax::net::ssl::provider::ServerHandshake : public ::gnu::javax::net::ssl::provider::AbstractHandshake
71 {
72 
73 public: // actually package-private
74   ServerHandshake(jboolean, ::gnu::javax::net::ssl::provider::SSLEngineImpl *);
75 private:
76   static ::gnu::javax::net::ssl::provider::ProtocolVersion * chooseProtocol(::gnu::javax::net::ssl::provider::ProtocolVersion *, JArray< ::java::lang::String * > *);
77   ::gnu::javax::net::ssl::provider::CipherSuite * chooseSuite(::gnu::javax::net::ssl::provider::CipherSuiteList *, JArray< ::java::lang::String * > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *);
78   static ::gnu::javax::net::ssl::provider::CompressionMethod * chooseCompression(::gnu::javax::net::ssl::provider::CompressionMethodList *);
79 public: // actually protected
80   virtual jboolean doHash();
81 public:
82   virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleInput();
83   virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleOutput(::java::nio::ByteBuffer *);
84 public: // actually package-private
85   virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * status();
86   virtual void checkKeyExchange();
87   virtual void handleV2Hello(::java::nio::ByteBuffer *);
88 private:
89   ::java::nio::ByteBuffer * signParams(::java::nio::ByteBuffer *);
90   void verifyClient(JArray< jbyte > *);
91 public: // actually package-private
92   static void access$0(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::lang::String *);
93   static ::java::lang::String * access$1(::gnu::javax::net::ssl::provider::ServerHandshake *);
94   static void access$2(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::security::cert::X509Certificate *);
95   static void access$3(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::security::PrivateKey *);
96   static ::java::security::cert::X509Certificate * access$4(::gnu::javax::net::ssl::provider::ServerHandshake *);
97   static void access$5(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::security::KeyPair *);
98   static ::java::security::KeyPair * access$6(::gnu::javax::net::ssl::provider::ServerHandshake *);
99   static ::java::nio::ByteBuffer * access$7(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::nio::ByteBuffer *);
100   static ::java::security::PrivateKey * access$8(::gnu::javax::net::ssl::provider::ServerHandshake *);
101   static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type();
102   static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$KeyExchangeAlgorithm();
103   static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$ServerHandshake$State();
104 private:
105   ::gnu::javax::net::ssl::provider::ServerHandshake$State * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::AbstractHandshake)))) state;
106   ::java::nio::ByteBuffer * outBuffer;
107   jboolean clientHadExtensions;
108   jboolean continuedSession;
109   ::gnu::javax::net::ssl::provider::ServerNameList * requestedNames;
110   ::java::lang::String * keyAlias;
111   ::java::security::cert::X509Certificate * clientCert;
112   ::java::security::cert::X509Certificate * localCert;
113   jboolean helloV2;
114   ::java::security::KeyPair * dhPair;
115   ::java::security::PrivateKey * serverKey;
116   ::gnu::javax::net::ssl::provider::ServerHandshake$GenDH * genDH;
117   ::gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier * certVerifier;
118   ::gnu::javax::net::ssl::provider::ServerHandshake$CertLoader * certLoader;
119   ::gnu::javax::net::ssl::provider::DelegatedTask * keyExchangeTask;
120   static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type__;
121   static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$KeyExchangeAlgorithm__;
122   static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$ServerHandshake$State__;
123 public: // actually package-private
124   static jboolean $assertionsDisabled;
125 public:
126   static ::java::lang::Class class$;
127 };
128 
129 #endif // __gnu_javax_net_ssl_provider_ServerHandshake__
130