18 #ifndef _DECAF_INTERNAL_NET_SSL_OPENSSL_OPENSSLSOCKET_H_
19 #define _DECAF_INTERNAL_NET_SSL_OPENSSL_OPENSSLSOCKET_H_
34 class OpenSSLParameters;
82 virtual void connect(
const std::string& host,
int port,
int timeout);
102 virtual void shutdownInput();
107 virtual void shutdownOutput();
112 virtual void setOOBInline(
bool value);
117 virtual void sendUrgentData(
int data);
134 virtual std::vector<std::string> getSupportedCipherSuites()
const;
139 virtual std::vector<std::string> getSupportedProtocols()
const;
144 virtual std::vector<std::string> getEnabledCipherSuites()
const;
149 virtual void setEnabledCipherSuites(
const std::vector<std::string>& suites);
154 virtual std::vector<std::string> getEnabledProtocols()
const;
159 virtual void setEnabledProtocols(
const std::vector<std::string>& protocols);
164 virtual void startHandshake();
169 virtual void setUseClientMode(
bool value);
174 virtual bool getUseClientMode()
const;
179 virtual void setNeedClientAuth(
bool value);
184 virtual bool getNeedClientAuth()
const;
189 virtual void setWantClientAuth(
bool value);
194 virtual bool getWantClientAuth()
const;
216 int read(
unsigned char* buffer,
int size,
int offset,
int length);
234 void write(
const unsigned char* buffer,
int size,
int offset,
int length);
249 void verifyServerCert(
const std::string& serverName);
Wraps a a Normal Socket object and extends or overrides functions in that class to make use of the Op...
Definition: OpenSSLSocket.h:43
Represents an IP address.
Definition: InetAddress.h:33
virtual void connect(const std::string &host, int port)
Connects to the specified destination.
Definition: SSLParameters.h:30
Container class for parameters that are Common to OpenSSL socket classes.
Definition: OpenSSLParameters.h:41
#define DECAF_API
Definition: Config.h:29
Base interface for any class that wants to represent an output stream of bytes.
Definition: OutputStream.h:39
Definition: SSLSocket.h:34