Embedded WebSockets Experiment

Dependencies:   mbed MD5

Committer:
nandgate
Date:
Tue Jul 26 05:30:53 2011 +0000
Revision:
0:6dee052a3fa4

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nandgate 0:6dee052a3fa4 1 #ifndef TCPCALLBACKLISTENER_H
nandgate 0:6dee052a3fa4 2 #define TCPCALLBACKLISTENER_H
nandgate 0:6dee052a3fa4 3
nandgate 0:6dee052a3fa4 4 #include "TCPListener.h"
nandgate 0:6dee052a3fa4 5
nandgate 0:6dee052a3fa4 6 namespace mbed {
nandgate 0:6dee052a3fa4 7 class NetServer;
nandgate 0:6dee052a3fa4 8
nandgate 0:6dee052a3fa4 9 class TCPCallbackListener : public TCPListener {
nandgate 0:6dee052a3fa4 10 public:
nandgate 0:6dee052a3fa4 11 TCPCallbackListener(
nandgate 0:6dee052a3fa4 12 u16_t port,
nandgate 0:6dee052a3fa4 13 err_t (*paccept)(TCPCallbackListener *, struct tcp_pcb *, err_t))
nandgate 0:6dee052a3fa4 14 : TCPListener(port), _accept(paccept) {
nandgate 0:6dee052a3fa4 15 }
nandgate 0:6dee052a3fa4 16
nandgate 0:6dee052a3fa4 17 private:
nandgate 0:6dee052a3fa4 18 virtual err_t accept(struct tcp_pcb *newpcb, err_t err) {
nandgate 0:6dee052a3fa4 19 if(_accept) {
nandgate 0:6dee052a3fa4 20 return (_accept)(this, newpcb, err);
nandgate 0:6dee052a3fa4 21 } else {
nandgate 0:6dee052a3fa4 22 return ERR_OK;
nandgate 0:6dee052a3fa4 23 }
nandgate 0:6dee052a3fa4 24 }
nandgate 0:6dee052a3fa4 25
nandgate 0:6dee052a3fa4 26 err_t (*_accept)(TCPCallbackListener *, struct tcp_pcb *newpcb, err_t err);
nandgate 0:6dee052a3fa4 27
nandgate 0:6dee052a3fa4 28 friend class NetServer;
nandgate 0:6dee052a3fa4 29 };
nandgate 0:6dee052a3fa4 30
nandgate 0:6dee052a3fa4 31 };
nandgate 0:6dee052a3fa4 32
nandgate 0:6dee052a3fa4 33 #endif /* TCPCALLBACKLISTENER_H */