Add a bunch of APNs

Fork of C027_Support by Xinlei Cao

Committer:
mazgch
Date:
Fri May 09 17:43:55 2014 +0000
Revision:
47:9a89e5195721
Parent:
44:9d12223b78ff
Child:
49:8175b2b72d6b
timeout can now be set before connect

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mazgch 44:9d12223b78ff 1 #ifndef SOCKET_H_
mazgch 44:9d12223b78ff 2 #define SOCKET_H_
mazgch 44:9d12223b78ff 3
mazgch 44:9d12223b78ff 4 #include "MDM.h"
mazgch 44:9d12223b78ff 5
mazgch 44:9d12223b78ff 6 /** Socket file descriptor and select wrapper
mazgch 44:9d12223b78ff 7 */
mazgch 44:9d12223b78ff 8 class Socket {
mazgch 44:9d12223b78ff 9 public:
mazgch 44:9d12223b78ff 10 Socket() {
mazgch 44:9d12223b78ff 11 _socket = -1;
mazgch 47:9a89e5195721 12 _timeout = -1;
mazgch 44:9d12223b78ff 13 _mdm = MDMParser::getInstance();
mazgch 44:9d12223b78ff 14 if (_mdm == NULL) {
mazgch 44:9d12223b78ff 15 error("Socket constructor error: no modem instance available!\r\n");
mazgch 44:9d12223b78ff 16 }
mazgch 44:9d12223b78ff 17 }
mazgch 44:9d12223b78ff 18
mazgch 47:9a89e5195721 19 void set_blocking(bool blocking, unsigned int timeout=1) {
mazgch 47:9a89e5195721 20 _timeout = blocking ? (unsigned int) -1 /* blocking */ : timeout;
mazgch 47:9a89e5195721 21 if (_socket >= 0) {
mazgch 47:9a89e5195721 22 _mdm->socketSetBlocking(_socket, _timeout);
mazgch 47:9a89e5195721 23 }
mazgch 44:9d12223b78ff 24 }
mazgch 44:9d12223b78ff 25
mazgch 44:9d12223b78ff 26 int close() {
mazgch 44:9d12223b78ff 27 bool ret = false;
mazgch 47:9a89e5195721 28 printf("\r\n++++ socket closing\r\n\r\n");
mazgch 44:9d12223b78ff 29 if (_socket >= 0)
mazgch 44:9d12223b78ff 30 {
mazgch 44:9d12223b78ff 31 ret = _mdm->socketClose(_socket);
mazgch 44:9d12223b78ff 32 _mdm->socketFree(_socket);
mazgch 44:9d12223b78ff 33 _socket = -1;
mazgch 44:9d12223b78ff 34 }
mazgch 44:9d12223b78ff 35 return ret ? 0 : -1;
mazgch 44:9d12223b78ff 36 }
mazgch 44:9d12223b78ff 37
mazgch 47:9a89e5195721 38 ~Socket() { printf("\r\n++++ socket free\r\n\r\n");
mazgch 47:9a89e5195721 39 close(); }
mazgch 44:9d12223b78ff 40
mazgch 44:9d12223b78ff 41 protected:
mazgch 44:9d12223b78ff 42 int _socket;
mazgch 47:9a89e5195721 43 int _timeout;
mazgch 44:9d12223b78ff 44 MDMParser* _mdm;
mazgch 44:9d12223b78ff 45 };
mazgch 44:9d12223b78ff 46
mazgch 44:9d12223b78ff 47
mazgch 44:9d12223b78ff 48 #endif /* SOCKET_H_ */