For a question in forum this is a working example, there will be the example that is not working
Fork of eth_v13 by
TCPSocket.h@3:79dc3337d9da, 2014-03-21 (annotated)
- Committer:
- hggerdd
- Date:
- Fri Mar 21 00:18:33 2014 +0000
- Revision:
- 3:79dc3337d9da
- Parent:
- 2:8f5bacfef390
webserver;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hggerdd | 2:8f5bacfef390 | 1 | #ifndef TCPSOCKET_H |
hggerdd | 2:8f5bacfef390 | 2 | #define TCPSOCKET_H |
hggerdd | 2:8f5bacfef390 | 3 | |
hggerdd | 2:8f5bacfef390 | 4 | #include "ipaddr.h" |
hggerdd | 3:79dc3337d9da | 5 | #include "mbed.h" |
hggerdd | 2:8f5bacfef390 | 6 | |
hggerdd | 2:8f5bacfef390 | 7 | class TCPSocket |
hggerdd | 2:8f5bacfef390 | 8 | { |
hggerdd | 2:8f5bacfef390 | 9 | int _socket; |
hggerdd | 2:8f5bacfef390 | 10 | int _port; |
hggerdd | 2:8f5bacfef390 | 11 | void (*m_pCb)(void); |
hggerdd | 3:79dc3337d9da | 12 | void (*_tptr)(void); |
hggerdd | 3:79dc3337d9da | 13 | void (*_mptr) (void); |
hggerdd | 3:79dc3337d9da | 14 | int pointertype; |
hggerdd | 3:79dc3337d9da | 15 | |
hggerdd | 3:79dc3337d9da | 16 | protected: |
hggerdd | 3:79dc3337d9da | 17 | FunctionPointer _callbackHandler; |
hggerdd | 2:8f5bacfef390 | 18 | |
hggerdd | 2:8f5bacfef390 | 19 | public: |
hggerdd | 3:79dc3337d9da | 20 | TCPSocket(); |
hggerdd | 2:8f5bacfef390 | 21 | TCPSocket(int newSocket); |
hggerdd | 2:8f5bacfef390 | 22 | |
hggerdd | 3:79dc3337d9da | 23 | void setSocket(int socket); |
hggerdd | 3:79dc3337d9da | 24 | |
hggerdd | 2:8f5bacfef390 | 25 | void bind(int port); |
hggerdd | 2:8f5bacfef390 | 26 | void listen(); |
hggerdd | 2:8f5bacfef390 | 27 | void close(); |
hggerdd | 2:8f5bacfef390 | 28 | int send(const char* buf, int len); |
hggerdd | 2:8f5bacfef390 | 29 | int recv(char* buf, int len); |
hggerdd | 2:8f5bacfef390 | 30 | void poll(); |
hggerdd | 2:8f5bacfef390 | 31 | void setOnEvent(void (*pMethod)(void)); |
hggerdd | 3:79dc3337d9da | 32 | template<typename T> |
hggerdd | 3:79dc3337d9da | 33 | void setOnEvent(T* tptr, void (T::*mptr)(void)); |
hggerdd | 3:79dc3337d9da | 34 | |
hggerdd | 3:79dc3337d9da | 35 | // Handler für eine non-member Funktion hinzufügen |
hggerdd | 3:79dc3337d9da | 36 | void attach(void (*function)(void)) { |
hggerdd | 3:79dc3337d9da | 37 | _callbackHandler.attach( function ); |
hggerdd | 3:79dc3337d9da | 38 | } |
hggerdd | 3:79dc3337d9da | 39 | |
hggerdd | 3:79dc3337d9da | 40 | template<typename T> |
hggerdd | 3:79dc3337d9da | 41 | void attach(T* object, void (T::*member)(void)) { |
hggerdd | 3:79dc3337d9da | 42 | _callbackHandler.attach( object, member ); |
hggerdd | 3:79dc3337d9da | 43 | } |
hggerdd | 3:79dc3337d9da | 44 | |
hggerdd | 3:79dc3337d9da | 45 | int getRxSize(); |
hggerdd | 2:8f5bacfef390 | 46 | }; |
hggerdd | 2:8f5bacfef390 | 47 | #endif // MYUDPSOCKET_H |