1: 
   2: 
   3: /*************
   4: *            *
   5: *  SENTINEL  *
   6: *            *
   7: *************/
   8: 
   9: 
  10: #ifndef WWWI_MIND_DNSSOCKET_H 
  11: #define WWWI_MIND_DNSSOCKET_H 
  12: 
  13: 
  14: /*********************
  15: *                    *
  16: *  PROJECT INCLUDES  *
  17: *                    *
  18: *********************/
  19: 
  20: 
  21: #include "mind.h" 
  22: #include "dnspacket.h" 
  23: #include "wwwi/mutex.h" 
  24: #include "wwwi/udpsocket.h" 
  25: 
  26: 
  27: using WWWI::Mutex;
  28: using WWWI::UDPSocket;
  29: 
  30: 
  31: /*************************
  32: *                        *
  33: *  FORWARD DECLARATIONS  *
  34: *                        *
  35: *************************/
  36: 
  37: 
  38: /********************
  39: *                   *
  40: *  CLASS DNSSOCKET  *
  41: *                   *
  42: ********************/
  43: 
  44: 
  45: class DNSSocket : public UDPSocket {
  46: public:
  47:                         DNSSocket(IPAddress i_ipAddress = INADDR_ANY, unsigned short i_usPort = 0);
  48:   virtual DNSPacketPtr  RecvPacket(void);
  49:   virtual DNSPacketPtr  RecvPacketTimed(unsigned i_uTimeoutMS);
  50:   virtual void          SendPacket(DNSPacketConstPtr i_dppOut);
  51:   virtual              ~DNSSocket(void);
  52: 
  53: protected:
  54:   Mutex m_mx;
  55: 
  56: };
  57: DECL_POINTER_TYPES(DNSSocket)
  58: 
  59: 
  60: /************
  61: *           *
  62: *  THE END  *
  63: *           *
  64: ************/
  65: 
  66: 
  67: #endif 
  68: 
  69: 
  70: