Christopher Haster / ESP8266Interface

Dependencies:   ESP8266

Fork of ESP8266Interface by NetworkSocketAPI

Branch:
api-changes
Revision:
42:4bf09cadf328
Parent:
41:3f4d5f4862d2
Child:
43:7c010b1db697
--- a/ESP8266Interface.cpp	Wed Feb 24 22:21:43 2016 -0600
+++ b/ESP8266Interface.cpp	Wed Feb 24 22:25:19 2016 -0600
@@ -16,6 +16,37 @@
 
 #include "ESP8266Interface.h"
 
+
+/** ESP8266Socket class
+ *  Implementation of the SocketInterface for the ESP8266
+ */
+class ESP8266Socket : public SocketInterface
+{
+public:
+    // ESP8266 specific methods
+    ESP8266Socket(
+        ESP8266 *esp,
+        socket_protocol_t proto,
+        int id);
+
+    virtual ~ESP8266Socket();
+
+    int getID() const;
+
+    // Implementation of SocketInterface
+    virtual int32_t open(const char *ip, uint16_t port);
+    virtual int32_t close();
+
+    virtual int32_t send(const void *data, uint32_t len);
+    virtual int32_t recv(void *data, uint32_t len);
+
+private:
+    ESP8266 *_esp;
+    socket_protocol_t _proto;
+    int _id;
+};
+
+
 // ESP8266Interface implementation
 ESP8266Interface::ESP8266Interface(PinName tx, PinName rx, bool debug)
     : _esp(tx, rx, debug)
@@ -89,19 +120,19 @@
         return 0;
     }
 
-    return new ESP8266Interface::ESP8266Socket(&_esp, proto, id);
+    return new ESP8266Socket(&_esp, proto, id);
 }
 
 void ESP8266Interface::destroySocket(SocketInterface *iface)
 {
-    ESP8266Interface::ESP8266Socket *socket = (ESP8266Interface::ESP8266Socket *)iface;
+    ESP8266Socket *socket = (ESP8266Socket *)iface;
     _ids[socket->getID()] = false;
     delete socket;
 }
 
 
 // ESP8266Socket implementation
-ESP8266Interface::ESP8266Socket::ESP8266Socket(
+ESP8266Socket::ESP8266Socket(
         ESP8266 *esp,
         socket_protocol_t proto,
         int id)
@@ -111,11 +142,11 @@
 {
 }
 
-ESP8266Interface::ESP8266Socket::~ESP8266Socket()
+ESP8266Socket::~ESP8266Socket()
 {
 }
 
-int32_t ESP8266Interface::ESP8266Socket::open(const char *ip, uint16_t port)
+int32_t ESP8266Socket::open(const char *ip, uint16_t port)
 {
     const char *proto = (_proto == SOCK_UDP) ? "UDP" : "TCP";
 
@@ -126,7 +157,7 @@
     return 0;
 }
 
-int32_t ESP8266Interface::ESP8266Socket::close()
+int32_t ESP8266Socket::close()
 {
     if (!_esp->close(_id)) {
         return -1;
@@ -135,7 +166,7 @@
     return 0;
 }
 
-int32_t ESP8266Interface::ESP8266Socket::send(const void *data, uint32_t amount)
+int32_t ESP8266Socket::send(const void *data, uint32_t amount)
 {
     if (!_esp->send(_id, data, amount)) {
         return -1;
@@ -144,12 +175,12 @@
     return 0;
 }
 
-int32_t ESP8266Interface::ESP8266Socket::recv(void *data, uint32_t amount)
+int32_t ESP8266Socket::recv(void *data, uint32_t amount)
 {
     return _esp->recv(_id, data, amount);
 }
 
-int ESP8266Interface::ESP8266Socket::getID() const {
+int ESP8266Socket::getID() const {
     return _id;
 }