You.i Engine
YiTCPSecureSocket.h
Go to the documentation of this file.
1 #ifndef _YI_TCP_SECURE_SOCKET_H_
2 #define _YI_TCP_SECURE_SOCKET_H_
3 
4 #include "framework/YiPredef.h"
5 #include "network/YiTCPSocket.h"
6 #include "utility/YiString.h"
7 
8 class CYITCPSecureSocketPriv;
9 
24 {
25 public:
29  static std::unique_ptr<CYITCPSecureSocket> Create(const CYIString &host, uint16_t uPort);
30 
31  virtual ~CYITCPSecureSocket();
32 
33  virtual bool Connect() override;
34  virtual bool Disconnect() override ;
35  virtual bool IsConnected() const override;
36 
37  virtual IYISocket::SOCKET_RESULT Send(const char *pBuffer, size_t uLength) override;
38  virtual IYISocket::SOCKET_RESULT Send(const char *pBuffer, size_t uLength, size_t &uSent) override;
39 
40  virtual IYISocket::SOCKET_RESULT Receive(char *pBuffer, size_t uLength, size_t &uReceived) override;
41 
42  virtual uint64_t GetTotalBytesSent() const override;
43  virtual uint64_t GetTotalBytesReceived() const override;
44 
45  virtual void SetConnectionTimeoutMs(uint32_t uTimeoutMs) override;
46  virtual uint32_t GetConnectionTimeoutMs() const override;
47 
48  virtual bool SetSocketBlockingEnabled(bool bBlocking) override;
49 
50 protected:
51  CYITCPSecureSocket(const CYIString &host, uint16_t uPort);
52 
53 private:
54  YI_DISALLOW_COPY_AND_ASSIGN(CYITCPSecureSocket);
55 
56  CYITCPSecureSocketPriv *m_pPriv;
57 };
58 
63 #endif /* _YI_TCP_SECURE_SOCKET_H_ */
64 
SOCKET_RESULT
Possible return values from socket operations.
Definition: YiSocket.h:25
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
virtual IYISocket::SOCKET_RESULT Receive(char *pBuffer, size_t uLength, size_t &uReceived) override
virtual uint32_t GetConnectionTimeoutMs() const override
virtual bool IsConnected() const override
virtual uint64_t GetTotalBytesSent() const override
virtual void SetConnectionTimeoutMs(uint32_t uTimeoutMs) override
Implements a secure (SSL/TLS) TCP socket.
Definition: YiTCPSecureSocket.h:23
virtual uint64_t GetTotalBytesReceived() const override
The IYISocket defines the interface to be implemented by any class fulfilling sockets services...
Definition: YiSocket.h:19
virtual bool Connect() override
virtual bool SetSocketBlockingEnabled(bool bBlocking) override
virtual ~CYITCPSecureSocket()
virtual bool Disconnect() override
static std::unique_ptr< CYITCPSecureSocket > Create(const CYIString &host, uint16_t uPort)
CYITCPSecureSocket(const CYIString &host, uint16_t uPort)
virtual IYISocket::SOCKET_RESULT Send(const char *pBuffer, size_t uLength) override