1: 2: 3: /********************** 4: * * 5: * COMPILER INCLUDES * 6: * * 7: **********************/ 8: 9: 10: #include <cassert> 11: 12: 13: /********************* 14: * * 15: * PROJECT INCLUDES * 16: * * 17: *********************/ 18: 19: 20: #include "am.h" 21: #include "dnsutil.h" 22: #include "request.h" 23: 24: 25: /************************ 26: * * 27: * REQUEST CONSTRUCTOR * 28: * * 29: ************************/ 30: 31: 32: Request::Request(bool i_bRD, Opcode i_op, QuestionPtr &i_qnpr) { 33: AMCTOR(Request); 34: m_bRD = i_bRD; 35: m_op = OPCODE_QUERY; 36: m_qnp = i_qnpr; 37: i_qnpr = NULL; 38: } 39: 40: 41: /*********************** 42: * * 43: * REQUEST DESTRUCTOR * 44: * * 45: ***********************/ 46: 47: 48: Request::~Request() { 49: AMDTOR(Request); 50: SoftDelete(m_qnp); 51: } 52: 53: 54: /************************* 55: * * 56: * FUNCTIONS OPERATOR<< * 57: * * 58: *************************/ 59: 60: 61: ostream& operator<<(ostream& io_smr, RequestConstPtr i_rqpIn) { 62: io_smr << *i_rqpIn; 63: return io_smr; 64: } 65: 66: 67: ostream& operator<<(ostream& io_smr, const Request &i_rqrIn) { 68: if (&i_rqrIn==NULL) { 69: io_smr << "[NULL REQUEST]" << endl; 70: return io_smr; 71: } 72: if (i_rqrIn.GetRD()) io_smr << "RD "; 73: io_smr << GetOpcodeName(i_rqrIn.GetOpcode()) << " "; 74: io_smr << i_rqrIn.GetQuestion(); 75: return io_smr; 76: } 77: 78: 79: