ap

Dependencies:   DnsQuery

Dependents:   WizFi310_TCP_Echo_Server_Example

Fork of NetworkSocketAPI by NetworkSocketAPI

Revision:
80:9c6673c93082
Parent:
79:43a7e8c0d6cc
Child:
87:94e2cf3a06be
--- a/SocketAddress.h	Tue Apr 05 10:40:34 2016 -0500
+++ b/SocketAddress.h	Tue Apr 05 12:02:56 2016 -0500
@@ -19,40 +19,60 @@
 
 #include <stdint.h>
 
+// Predeclared classes
+class NetworkInterface;
+
 /**
  * A general socket address composed of the IP address and port
  */
 class SocketAddress {
 public:
+    /** Maximum size of IP address
+    */
+    static const int IP_SIZE = 16;
+
+    /** SocketAddress construction using DNS resolution
+    /param iface    NetworkInterface to use for DNS resolution
+    /param addr     Null-terminated hostname that will be resolved
+    /param port     16-bit port
+    /note on failure, IP address and port will be set to null
+    */
+    SocketAddress(NetworkInterface *iface, const char *addr, uint16_t port = 0);
+
     /** SocketAddress construction
-    /param addr Null-terminated string representing the IP address
-    /param port 16-bit port
-     */
+    /param addr     Null-terminated IP address
+    /param port     16-bit port
+    /note on failure, IP address and port will be set to null
+    */
     SocketAddress(const char *addr = 0, uint16_t port = 0);
-    SocketAddress(const SocketAddress &);
+
+    /** SocketAddress construction
+    /param addr     SocketAddress to copy
+    */
+    SocketAddress(const SocketAddress &addr);
    
     /** Set the IP address
-    \param addr Null-terminated string representing the IP address
+    \param addr     Null-terminated string representing the IP address
      */
     void set_ip_address(const char *addr);
 
     /** Set the port
-    \param port 16-bit port
+    \param port     16-bit port
      */
     void set_port(uint16_t port);
     
     /** Get the IP address
-    \return The string representation of the IP Address
+    \return         The string representation of the IP Address
      */
     const char *get_ip_address() const;
     
     /** Get the port
-    \return The 16-bit port
+    \return         The 16-bit port
      */
     uint16_t get_port(void) const;
 
 private:
-    char _ip_address[16];
+    char _ip_address[IP_SIZE];
     uint16_t _port;
 };