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: