t3
Fork of C027_Support by
Diff: Socket/Socket.h
- Revision:
- 44:9d12223b78ff
- Child:
- 47:9a89e5195721
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Socket/Socket.h Thu Apr 17 20:41:30 2014 +0000 @@ -0,0 +1,41 @@ +#ifndef SOCKET_H_ +#define SOCKET_H_ + +#include "MDM.h" + +/** Socket file descriptor and select wrapper + */ +class Socket { +public: + Socket() { + _socket = -1; + _mdm = MDMParser::getInstance(); + if (_mdm == NULL) { + error("Socket constructor error: no modem instance available!\r\n"); + } + } + + void set_blocking(bool blocking, unsigned int timeout=1) { + _mdm->socketSetBlocking(_socket, blocking ? (unsigned int) -1 /* blocking */ : timeout); + } + + int close() { + bool ret = false; + if (_socket >= 0) + { + ret = _mdm->socketClose(_socket); + _mdm->socketFree(_socket); + _socket = -1; + } + return ret ? 0 : -1; + } + + ~Socket() { close(); } + +protected: + int _socket; + MDMParser* _mdm; +}; + + +#endif /* SOCKET_H_ */