AmrRT

Dependents:   LPC1768_AppBoard_Internet_LCD_Clock

Fork of EthernetNetIf by Donatien Garnier

Revision:
5:bc7df6da7589
Parent:
0:422060928e37
--- a/LPC2368/api/DNSRequest.h	Fri Jul 09 14:34:26 2010 +0000
+++ b/LPC2368/api/DNSRequest.h	Thu Aug 05 15:09:22 2010 +0000
@@ -21,44 +21,83 @@
 THE SOFTWARE.
 */
 
+/** \file
+DNS Request header file
+*/
+
 #ifndef DNSREQUEST_H
 #define DNSREQUEST_H
 
-#include "if/net/net.h"
+#include "core/net.h"
+#include "core/ipaddr.h"
+#include "core/host.h"
 //Essentially it is a safe interface to NetDnsRequest
 
+///DNS Request error codes
 enum DNSRequestErr
 {
   __DNS_MIN = -0xFFFF,
-  DNS_SETUP, //NetDnsRequest not properly configured
-  DNS_IF, //If has problems, does not exist or is not initialized
-  DNS_MEM, //Not enough mem
-  DNS_INUSE, //If/Port is in use
-  DNS_PROCESSING, //Req has not completed
+  DNS_SETUP, ///<DNSRequest not properly configured
+  DNS_IF, ///<Interface has problems, does not exist or is not initialized
+  DNS_MEM, ///<Not enough mem
+  DNS_INUSE, ///<Interface / Port is in use
+  DNS_PROCESSING, ///<Request has not completed
 //...
-  DNS_OK = 0
+  DNS_OK = 0 ///<Success
 };
 
+///DNS Request Result Events
 enum DNSReply
 {
   DNS_PRTCL,
-  DNS_NOTFOUND, //Hostname is unknown
-  DNS_ERROR, //Problem with DNS Service
+  DNS_NOTFOUND, ///Hostname is unknown
+  DNS_ERROR, ///Problem with DNS Service
   //...
   DNS_FOUND,
 };
 
+class NetDnsRequest;
+enum NetDnsReply;
+
+///This is a simple DNS Request class
+/**
+  This class exposes an API to deal with DNS Requests
+*/
 class DNSRequest
 {
 public:
+  ///Creates a new request
   DNSRequest();
+  
+  ///Terminates and closes request
   ~DNSRequest();
   
+  ///Resolves an hostname
+  /**
+  @param hostname : hostname to resolve
+  */
   DNSRequestErr resolve(const char* hostname);
+  
+  ///Resolves an hostname
+  /**
+  @param host : hostname to resolve, the result will be stored in the IpAddr field of this object
+  */
   DNSRequestErr resolve(Host* pHost);
   
+  ///Setups callback
+  /**
+  The callback function will be called on result.
+  @param pMethod : callback function
+  */  
+  void setOnReply( void (*pMethod)(DNSReply) );
+  
   class CDummy;
-  void setOnReply( void (*pMethod)(DNSReply) );
+  ///Setups callback
+  /**
+  The callback function will be called on result.
+  @param pItem : instance of class on which to execute the callback method
+  @param pMethod : callback method
+  */
   template<class T> 
   void setOnReply( T* pItem, void (T::*pMethod)(DNSReply) )
   {
@@ -66,8 +105,13 @@
     m_pCbMeth = (void (CDummy::*)(DNSReply)) pMethod;
   }
   
+  ///Gets IP address once it has been resolved
+  /**
+  @param pIp : pointer to an IpAddr instance in which to store the resolved IP address
+  */
   DNSRequestErr getResult(IpAddr* pIp);
   
+  ///Closes DNS Request before completion
   DNSRequestErr close();
   
 protected: