Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
C027_Support/Socket/Socket.h
- Committer:
- AxedaCorp
- Date:
- 2014-08-11
- Revision:
- 1:ff6d8adaf6b9
- Parent:
- 0:a725e8eab383
File content as of revision 1:ff6d8adaf6b9:
#ifndef SOCKET_H_ #define SOCKET_H_ #include "MDM.h" /** Socket file descriptor and select wrapper */ class Socket { public: Socket() { _socket = -1; _timeout_ms = MDMParser::TIMEOUT_BLOCKING; _mdm = NULL; } void set_blocking(bool blocking, unsigned int timeout = 1500) { _timeout_ms = blocking ? MDMParser::TIMEOUT_BLOCKING : (int)timeout; if (_socket >= 0) { _mdm->socketSetBlocking(_socket, _timeout_ms); } } int close() { bool ret = false; if (_socket >= 0) { ret = _mdm->socketClose(_socket); _mdm->socketFree(_socket); _socket = -1; _timeout_ms = MDMParser::TIMEOUT_BLOCKING; } return ret ? 0 : -1; } ~Socket() { close(); } protected: int _socket; int _timeout_ms; MDMParser* _mdm; }; #endif /* SOCKET_H_ */