A version of LWIP, provided for backwards compatibility.
Dependents: AA_DemoBoard DemoBoard HelloServerDemo DemoBoard_RangeIndicator ... more
Diff: trunk/Core/TCPCallbackListener.h
- Revision:
- 0:5e1631496985
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/trunk/Core/TCPCallbackListener.h Tue May 08 15:32:10 2012 +0100 @@ -0,0 +1,33 @@ +#ifndef TCPCALLBACKLISTENER_H +#define TCPCALLBACKLISTENER_H + +#include "TCPListener.h" + +namespace mbed { + class NetServer; + + class TCPCallbackListener : public TCPListener { + public: + TCPCallbackListener( + u16_t port, + err_t (*paccept)(TCPCallbackListener *, struct tcp_pcb *, err_t)) + : TCPListener(port), _accept(paccept) { + } + + private: + virtual err_t accept(struct tcp_pcb *newpcb, err_t err) { + if(_accept) { + return (_accept)(this, newpcb, err); + } else { + return ERR_OK; + } + } + + err_t (*_accept)(TCPCallbackListener *, struct tcp_pcb *newpcb, err_t err); + + friend class NetServer; + }; + +}; + +#endif /* TCPCALLBACKLISTENER_H */