NetworkSocketAPI

Dependencies:   DnsQuery

Dependents:   HelloWizFi250Interface

Fork of NetworkSocketAPI by NetworkSocketAPI

Revision:
92:dd5f19874adf
Parent:
91:cad29ce6a01c
Child:
98:0f614f1d0398
--- a/Socket.h	Tue Apr 19 18:23:12 2016 -0500
+++ b/Socket.h	Tue Apr 19 18:23:29 2016 -0500
@@ -63,6 +63,19 @@
      */
     int close();
 
+    /** Register a callback on state change of the socket
+     *  @param callback Function to call on state change
+     *  @note Callback may be called in an interrupt context.
+     *        The callback should not perform long operations 
+     *        such as recv or send calls.
+     */
+    void attach(FunctionPointer callback);
+
+    template <typename T, typename M>
+    void attach(T *tptr, M mptr) {
+        attach(FunctionPointer(tptr, mptr));
+    }
+
 protected:
     Socket();
     int open(NetworkInterface *iface, nsapi_protocol_t proto);
@@ -73,6 +86,7 @@
     void *_socket;
     bool _blocking;
     unsigned _timeout;
+    FunctionPointer _callback;
 };
 
 #endif