Own fork of C027_Support

Dependents:   MbedSmartRestMain MbedSmartRestMain

Fork of C027_Support by u-blox

Revision:
47:9a89e5195721
Parent:
44:9d12223b78ff
Child:
49:8175b2b72d6b
--- a/Socket/Socket.h	Tue May 06 06:54:12 2014 +0000
+++ b/Socket/Socket.h	Fri May 09 17:43:55 2014 +0000
@@ -9,18 +9,23 @@
 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) { 
-        _mdm->socketSetBlocking(_socket, blocking ? (unsigned int) -1 /* blocking */ : timeout); 
+    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);
@@ -30,10 +35,12 @@
         return ret ? 0 : -1;
     }
     
-    ~Socket() { close(); }
+    ~Socket() { printf("\r\n++++ socket free\r\n\r\n");
+        close(); }
     
 protected:
     int _socket;
+    int _timeout;
     MDMParser* _mdm;
 };