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.
Dependents: 02_DPPU_JUANDA_120 02_DPPU_JUANDA_120_Latest_copy 02_DPPU_JUANDA_120_Latest
Socket/Socket.h
- Committer:
- mazgch
- Date:
- 2014-05-13
- Revision:
- 67:ff9472d344d4
- Parent:
- 66:69072b3c5bca
File content as of revision 67:ff9472d344d4:
#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_ */