You.i Engine
YiWebSocket.h
Go to the documentation of this file.
1 #ifndef _YI_WEBSOCKET_H_
2 #define _YI_WEBSOCKET_H_
3 
4 #include "framework/YiPredef.h"
5 #include "signal/YiSignal.h"
6 #include "utility/YiString.h"
7 
8 class CYIWebSocketPriv;
9 
15 static const uint32_t s_uDefaultWebSocketConnectTimeoutMs = 10000;
16 
26 {
27 public:
32  {
37  };
38 
43  {
52  };
53 
54 public:
59  static std::unique_ptr<CYIWebSocket> Create(const CYIString &url);
60 
61  virtual ~CYIWebSocket();
62 
68 
73 
77  bool IsConnected() const;
78 
83  WEBSOCKET_RESULT Send(MESSAGE_TYPE eType, const char *pBuffer, size_t nLength);
84 
90  WEBSOCKET_RESULT Receive(MESSAGE_TYPE &eType, char *pBuffer, size_t nLength, size_t &nReceived);
91 
96  WEBSOCKET_RESULT Peek(CYIWebSocket::MESSAGE_TYPE& eType, size_t& nLength);
97 
104  void SetConnectionTimeoutMs(uint32_t uTimeoutMs);
105 
111  uint32_t GetConnectionTimeoutMs() const;
112 
117 
124 
125 protected:
126  CYIWebSocket(const CYIString &url);
127 
128 private:
129  YI_DISALLOW_COPY_AND_ASSIGN(CYIWebSocket);
130 
131  CYIWebSocketPriv *m_pPriv;
132 };
133 
138 #endif // _YI_WEBSOCKET_H_
MESSAGE_TYPE
Possible types of data contained in the websocket messages.
Definition: YiWebSocket.h:31
void SetConnectionTimeoutMs(uint32_t uTimeoutMs)
WEBSOCKET_RESULT Connect()
bool IsConnected() const
Definition: YiWebSocket.h:46
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
CYISignal< CYIWebSocket * > WebSocketDisconnected
Definition: YiWebSocket.h:116
virtual ~CYIWebSocket()
uint32_t GetConnectionTimeoutMs() const
Definition: YiWebSocket.h:47
Definition: YiWebSocket.h:36
WEBSOCKET_RESULT Send(MESSAGE_TYPE eType, const char *pBuffer, size_t nLength)
static std::unique_ptr< CYIWebSocket > Create(const CYIString &url)
Definition: YiWebSocket.h:50
Definition: YiWebSocket.h:45
Definition: YiWebSocket.h:48
WEBSOCKET_RESULT Peek(CYIWebSocket::MESSAGE_TYPE &eType, size_t &nLength)
Definition: YiWebSocket.h:51
Definition: YiWebSocket.h:35
Implements a basic secure WebSocket.
Definition: YiWebSocket.h:25
Definition: YiWebSocket.h:33
WEBSOCKET_RESULT
Possible return values from CYIWebSocket calls.
Definition: YiWebSocket.h:42
Definition: YiWebSocket.h:44
Definition: YiWebSocket.h:49
Definition: YiWebSocket.h:34
CYIWebSocket(const CYIString &url)
WEBSOCKET_RESULT Disconnect()
WEBSOCKET_RESULT Receive(MESSAGE_TYPE &eType, char *pBuffer, size_t nLength, size_t &nReceived)
CYISignal< CYIWebSocket *, MESSAGE_TYPE, uint32_t > WebSocketReceivedMessage
Definition: YiWebSocket.h:123