C027 updated to work with latest mBed libraries
Dependents: Cellular_HelloMQTT UBLOXModemDriver UBLOXMQTTDriver
Fork of C027_Support by
Socket/Socket.h
- Committer:
- mazgch
- Date:
- 2014-05-09
- Revision:
- 47:9a89e5195721
- Parent:
- 44:9d12223b78ff
- Child:
- 49:8175b2b72d6b
File content as of revision 47:9a89e5195721:
#ifndef SOCKET_H_ #define SOCKET_H_ #include "MDM.h" /** Socket file descriptor and select wrapper */ class Socket { public: Socket() { _socket = -1; _timeout = -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) { _timeout = blocking ? (unsigned int) -1 /* blocking */ : timeout; if (_socket >= 0) { _mdm->socketSetBlocking(_socket, _timeout); } } int close() { bool ret = false; printf("\r\n++++ socket closing\r\n\r\n"); if (_socket >= 0) { ret = _mdm->socketClose(_socket); _mdm->socketFree(_socket); _socket = -1; } return ret ? 0 : -1; } ~Socket() { printf("\r\n++++ socket free\r\n\r\n"); close(); } protected: int _socket; int _timeout; MDMParser* _mdm; }; #endif /* SOCKET_H_ */