1:
2:
3: /*************
4: * *
5: * SENTINEL *
6: * *
7: *************/
8:
9:
10: #ifndef WWWI_MIND_RESPONSE_H
11: #define WWWI_MIND_RESPONSE_H
12:
13:
14: /**********************
15: * *
16: * COMPILER INCLUDES *
17: * *
18: **********************/
19:
20:
21: /*********************
22: * *
23: * PROJECT INCLUDES *
24: * *
25: *********************/
26:
27:
28: #include "rrlist.h"
29:
30:
31: /**********************
32: * *
33: * TYPE DECLARATIONS *
34: * *
35: **********************/
36:
37:
38: /*******************
39: * *
40: * CLASS RESPONSE *
41: * *
42: *******************/
43:
44:
45: class Response {
46: public:
47: Response(RCode i_cd);
48: Response(bool i_bAA, bool i_bTC, RCode i_cd, RRListPtr &i_rlprAN, RRListPtr &i_rlprNS, RRListPtr &i_rlprAR);
49: inline void AddAN(RRPtr &i_rrp);
50: inline bool GetAA(void) const;
51: inline size_t GetANCount(void) const;
52: inline RRListConstPtr GetANList(void) const;
53: inline size_t GetARCount(void) const;
54: inline RRListConstPtr GetARList(void) const;
55: inline size_t GetNSCount(void) const;
56: inline RRListConstPtr GetNSList(void) const;
57: inline RCode GetRCode(void) const;
58: inline bool GetTC(void) const;
59: inline RRListPtr RemoveANList(void);
60: inline RRListPtr RemoveNSList(void);
61: inline void SetTC(bool i_bTC);
62: ~Response(void);
63:
64: protected:
65: bool m_bAA;
66: bool m_bTC;
67: RCode m_cd;
68: RRListPtr m_rlpAN;
69: RRListPtr m_rlpNS;
70: RRListPtr m_rlpAR;
71:
72: };
73: DECL_POINTER_TYPES(Response)
74:
75:
76: /************************
77: * *
78: * FUNCTION PROTOTYPES *
79: * *
80: ************************/
81:
82:
83: ostream& operator<<(ostream& io_smr, ResponseConstPtr i_rsp);
84: ostream& operator<<(ostream& io_smr, const Response &i_rsr);
85:
86:
87: /*********************
88: * *
89: * INLINE FUNCTIONS *
90: * *
91: *********************/
92:
93:
94: #include "response.i"
95:
96:
97: /************
98: * *
99: * THE END *
100: * *
101: ************/
102:
103:
104: #endif
105:
106:
107: