This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Fork of libMiMic by
mbed/TcpSocket.h@59:cb5c3184c59f, 2013-10-02 (annotated)
- Committer:
- nyatla
- Date:
- Wed Oct 02 08:33:16 2013 +0000
- Revision:
- 59:cb5c3184c59f
- Parent:
- 58:03b89038b21a
- Child:
- 60:803de2088243
update mbed API(TcpSocket)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nyatla | 58:03b89038b21a | 1 | #pragma once |
nyatla | 58:03b89038b21a | 2 | //////////////////////////////////////////////////////////////////////////////// |
nyatla | 58:03b89038b21a | 3 | // TcpSocket.h |
nyatla | 58:03b89038b21a | 4 | //////////////////////////////////////////////////////////////////////////////// |
nyatla | 58:03b89038b21a | 5 | |
nyatla | 58:03b89038b21a | 6 | #include "NyLPC_net.h" |
nyatla | 58:03b89038b21a | 7 | #include "IpAddr.h" |
nyatla | 58:03b89038b21a | 8 | |
nyatla | 58:03b89038b21a | 9 | namespace MiMic |
nyatla | 58:03b89038b21a | 10 | { |
nyatla | 58:03b89038b21a | 11 | /** |
nyatla | 58:03b89038b21a | 12 | * Tcp Socket Class. |
nyatla | 58:03b89038b21a | 13 | * The class is used by Net constructor. |
nyatla | 58:03b89038b21a | 14 | */ |
nyatla | 58:03b89038b21a | 15 | class TcpSocket |
nyatla | 58:03b89038b21a | 16 | { |
nyatla | 58:03b89038b21a | 17 | private: |
nyatla | 58:03b89038b21a | 18 | NyLPC_TcTcpSocket_t _inst; |
nyatla | 58:03b89038b21a | 19 | void* _private_rx; |
nyatla | 58:03b89038b21a | 20 | public: |
nyatla | 58:03b89038b21a | 21 | /** wrapped base LPC class.*/ |
nyatla | 58:03b89038b21a | 22 | NyLPC_TcTcpSocket_t* refBaseInstance(){return &this->_inst;} |
nyatla | 58:03b89038b21a | 23 | |
nyatla | 58:03b89038b21a | 24 | public: |
nyatla | 58:03b89038b21a | 25 | TcpSocket(unsigned short i_rx_buf_size=(unsigned short)512); |
nyatla | 58:03b89038b21a | 26 | TcpSocket(void* i_rx_buf,unsigned short i_rx_buf_size); |
nyatla | 58:03b89038b21a | 27 | virtual ~TcpSocket(); |
nyatla | 58:03b89038b21a | 28 | /** |
nyatla | 58:03b89038b21a | 29 | * @param i_host_addr |
nyatla | 58:03b89038b21a | 30 | * must be IPv4 address format. |
nyatla | 58:03b89038b21a | 31 | */ |
nyatla | 58:03b89038b21a | 32 | bool connect(const IpAddr& i_addr,unsigned short i_port); |
nyatla | 58:03b89038b21a | 33 | bool send(const void* i_tx,unsigned short i_tx_size); |
nyatla | 58:03b89038b21a | 34 | /** |
nyatla | 58:03b89038b21a | 35 | * This function return recieved data and size. |
nyatla | 58:03b89038b21a | 36 | * The function sets the head of the readable buffer which can always be read. |
nyatla | 58:03b89038b21a | 37 | * A position is not changed until pseek was called. |
nyatla | 58:03b89038b21a | 38 | * @param i_rx |
nyatla | 58:03b89038b21a | 39 | * address of variable which accepts received data pointer. |
nyatla | 58:03b89038b21a | 40 | * @retrun |
nyatla | 58:03b89038b21a | 41 | * n<-1 Error |
nyatla | 58:03b89038b21a | 42 | * n==0 Timeout (connection still established) |
nyatla | 58:03b89038b21a | 43 | * n>0 Success. readable data size in i_rx. |
nyatla | 58:03b89038b21a | 44 | */ |
nyatla | 59:cb5c3184c59f | 45 | int precv(const void* &i_rx); |
nyatla | 59:cb5c3184c59f | 46 | int precv(const char* &i_rx); |
nyatla | 58:03b89038b21a | 47 | /** |
nyatla | 58:03b89038b21a | 48 | * This function seek rx pointer to next. |
nyatla | 58:03b89038b21a | 49 | * @param i_rx_size |
nyatla | 58:03b89038b21a | 50 | * seek size. Must be returned value which is small or equal by the precv. |
nyatla | 58:03b89038b21a | 51 | */ |
nyatla | 58:03b89038b21a | 52 | void pseek(unsigned short i_rx_seek); |
nyatla | 58:03b89038b21a | 53 | void close(); |
nyatla | 58:03b89038b21a | 54 | }; |
nyatla | 58:03b89038b21a | 55 | |
nyatla | 58:03b89038b21a | 56 | } |