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.
Dependencies: DnsQuery
Dependents: WizFi310_TCP_Echo_Server_Example
Fork of NetworkSocketAPI by
Diff: NetworkInterface.h
- Revision:
- 11:47c32687a44c
- Parent:
- 10:50b0a3f840df
- Child:
- 12:ab3679eb4d9d
--- a/NetworkInterface.h Wed Jul 15 15:41:11 2015 +0000 +++ b/NetworkInterface.h Wed Jul 15 23:21:17 2015 +0000 @@ -19,6 +19,9 @@ #include "stdint.h" +#include "SocketInterface.h" +#include <map> + /** NetworkInterface class. This is a common interface that is shared between all hardware that connect to a network over IP. @@ -77,6 +80,25 @@ @returns true if connected, a negative number on failure */ virtual int32_t isConnected(void) const = 0; + + /** Allocate space for a socket. + @returns a pointer to the allocated socket. + */ + virtual SocketInterface* allocateSocket(socket_protocol_t socketProtocol) const = 0; + + /** Deallocate space for a socket. + @returns a pointer to the deallocated socket. + */ + virtual int deallocateSocket(SocketInterface* socket) const = 0; + +protected: + /** Map used to keep track of all SocketInterface instances */ + std::map<int, SocketInterface*> sockets; + + /** Counter used to create unique handles for new sockets. + Should be incremented whenever a new socket is created. + */ + uint32_t uuidCounter; }; #endif