Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SNICInterface_mod WebSocketServer mbed-rtos mbed PowerControl C12832
Diff: WebSocketServer.h
- Revision:
- 10:578778037efb
- Parent:
- 8:6635ca3b5a5c
--- a/WebSocketServer.h Sat Mar 14 11:06:11 2015 +0000
+++ b/WebSocketServer.h Mon Mar 16 18:48:50 2015 +0900
@@ -2,16 +2,9 @@
#define _WEB_SOCKET_SERVER_H_
#include "TCPSocketServer.h"
-
-class WebSocketHandler
-{
-public:
- virtual void onOpen() {};
- virtual void onClose() {};
- virtual void onMessage(char* text) {};
- virtual void onMessage(char* data, size_t size) {};
- virtual void onError() {};
-};
+#include "WebSocketHandler.h"
+#include <string>
+#include <map>
class WebSocketServer
{
@@ -21,17 +14,14 @@
bool init(int port);
void run();
- bool setHandler(const char* path, WebSocketHandler* handler);
+ void setHandler(const char* path, WebSocketHandler* handler);
+ WebSocketHandler* getHandler(const char* path);
private:
- bool handleHTTP(char* buf, int size);
- bool handleWebSocket(char* buf, int size);
- bool sendUpgradeResponse(char* key);
+ typedef std::map<std::string, WebSocketHandler*> WebSocketHandlerContainer;
TCPSocketServer mTCPSocketServer;
- TCPSocketConnection mConnection;
- WebSocketHandler* mHandler; // support only one handler now
- bool mPrevFin;
+ WebSocketHandlerContainer mHandlers;
};
-#endif
\ No newline at end of file
+#endif