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: