A library for talking to Multi-Tech's Cellular SocketModem Devices.
Dependents: M2X_dev axeda_wrapper_dev MTS_M2x_Example1 MTS_Cellular_Connect_Example ... more
io/IPStack.h@17:2d7c4ea7491b, 2013-12-16 (annotated)
- Committer:
- sgodinez
- Date:
- Mon Dec 16 20:00:20 2013 +0000
- Revision:
- 17:2d7c4ea7491b
- Parent:
- 11:134435d8a2d5
- Child:
- 27:8e6188cbcfd4
TCP send / receive working. close() still requires some finesse when other end disconnects.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sgodinez | 11:134435d8a2d5 | 1 | #ifndef IPSTACK_H |
sgodinez | 11:134435d8a2d5 | 2 | #define IPSTACK_H |
sgodinez | 11:134435d8a2d5 | 3 | |
sgodinez | 11:134435d8a2d5 | 4 | #include <string> |
sgodinez | 11:134435d8a2d5 | 5 | |
sgodinez | 11:134435d8a2d5 | 6 | class IPStack |
sgodinez | 11:134435d8a2d5 | 7 | { |
sgodinez | 11:134435d8a2d5 | 8 | public: |
sgodinez | 11:134435d8a2d5 | 9 | enum Mode { |
sgodinez | 11:134435d8a2d5 | 10 | TCP, UDP |
sgodinez | 11:134435d8a2d5 | 11 | }; |
sgodinez | 11:134435d8a2d5 | 12 | |
sgodinez | 11:134435d8a2d5 | 13 | // Used to setup device |
sgodinez | 11:134435d8a2d5 | 14 | virtual bool connect() = 0; // Required configurations should be set before this call!!! |
sgodinez | 11:134435d8a2d5 | 15 | virtual void disconnect() = 0; |
sgodinez | 11:134435d8a2d5 | 16 | virtual bool isConnected() = 0; |
sgodinez | 11:134435d8a2d5 | 17 | |
sgodinez | 11:134435d8a2d5 | 18 | // Used for TCPSocketConnection & UDPSocketConnection |
sgodinez | 11:134435d8a2d5 | 19 | virtual bool bind(unsigned int port) = 0; |
sgodinez | 11:134435d8a2d5 | 20 | virtual bool open(const std::string& address, unsigned int port, Mode mode) = 0; |
sgodinez | 11:134435d8a2d5 | 21 | virtual bool isOpen() = 0; |
sgodinez | 17:2d7c4ea7491b | 22 | virtual bool close() = 0; |
sgodinez | 11:134435d8a2d5 | 23 | |
sgodinez | 11:134435d8a2d5 | 24 | //Error code => -1, Timeout == -1 for blocking |
sgodinez | 11:134435d8a2d5 | 25 | virtual int read(char* data, int max, int timeout = -1) = 0; |
sgodinez | 11:134435d8a2d5 | 26 | virtual int write(char* data, int length, int timeout = -1) = 0; |
sgodinez | 11:134435d8a2d5 | 27 | |
sgodinez | 11:134435d8a2d5 | 28 | //return 0 for false |
sgodinez | 11:134435d8a2d5 | 29 | virtual unsigned int readable() = 0; |
sgodinez | 11:134435d8a2d5 | 30 | virtual unsigned int writeable() = 0; |
sgodinez | 11:134435d8a2d5 | 31 | |
sgodinez | 11:134435d8a2d5 | 32 | //Other |
sgodinez | 11:134435d8a2d5 | 33 | virtual void reset() = 0; |
sgodinez | 11:134435d8a2d5 | 34 | }; |
sgodinez | 11:134435d8a2d5 | 35 | |
sgodinez | 11:134435d8a2d5 | 36 | #endif /* IPSTACK_H */ |