opensslconnectorbase.h
来自「强大易用的邮件收发客户端」· C头文件 代码 · 共 82 行
H
82 行
#if defined (_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
#include "stdafx.h"
#include <openssl/ssl.h>
class COpenSSLConnectorBase
{
public :
void ExpectConnect();
void ExpectAccept();
protected :
COpenSSLConnectorBase(
SSL_CTX *pContext);
virtual ~COpenSSLConnectorBase();
void RunSSL();
size_t DataToWrite(
BYTE *pData,
size_t dataLength);
size_t DataToRead(
BYTE *pData,
size_t dataLength);
private :
virtual void GetPendingOperations(
bool &dataToRead,
bool &dataToWrite) = 0;
virtual void PerformRead() = 0;
virtual void PerformWrite() = 0;
virtual void OnDataToWrite(
BYTE *pData,
size_t dataLength) = 0;
virtual void OnDataToRead(
BYTE *pData,
size_t dataLength) = 0;
virtual void GetNextReadDataBuffer(
BYTE **ppBuffer,
size_t &bufferSize) = 0;
virtual void GetNextWriteDataBuffer(
BYTE **ppBuffer,
size_t &bufferSize) = 0;
void SendPendingData();
void HandleError(
int result);
bool m_readRequired;
SSL *m_pConnection;
BIO *m_pIn;
BIO *m_pOut;
// No copies do not implement
COpenSSLConnectorBase(const COpenSSLConnectorBase &rhs);
COpenSSLConnectorBase &operator=(const COpenSSLConnectorBase &rhs);
};
///////////////////////////////////////////////////////////////////////////////
// End of file
///////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?