00001 /* ${copyright}$ */ 00002 /* $Id: BrDomainCreateRsp.H 1076 2010-08-03 18:55:45Z rafael $ */ 00007 #ifndef __BR_DOMAIN_CREATE_RSP_H__ 00008 #define __BR_DOMAIN_CREATE_RSP_H__ 00009 00010 #include <set> 00011 00012 #include "BrDomainCommon.H" 00013 #include "DomainCreateRsp.H" 00014 00015 using std::set; 00016 00017 LIBEPP_NICBR_NS_BEGIN 00018 00020 class BrDomainCreateRsp : public DomainCreateRsp 00021 { 00022 public: 00023 00025 BrDomainCreateRsp(bool reset = true) : DomainCreateRsp(false) 00026 { 00027 if (reset) { 00028 this->reset(); 00029 } 00030 } 00031 00033 void copy_parent_data(const DomainCreateRsp &parent) 00034 { 00035 _name = parent.get_name(); 00036 _crDate = parent.get_crDate(); 00037 _exDate = parent.get_exDate(); 00038 } 00039 00041 00044 void set_ticketNumber(int ticketNumber) 00045 { 00046 _ticketNumber = ticketNumber; 00047 } 00048 00050 /* 00051 @param Ticket Number 00052 */ 00053 int get_ticketNumber() const 00054 { 00055 return _ticketNumber; 00056 } 00057 00059 00062 void insert_doc_pending(const struct PendingDoc& p) 00063 { 00064 _doc_pendings.insert(_doc_pendings.end(), p); 00065 } 00066 00068 00071 PENDING_CONTAINER<struct PendingDoc> get_doc_pendings() const 00072 { 00073 return _doc_pendings; 00074 } 00075 00077 00080 void insert_dns_pending(const struct PendingDns& p) 00081 { 00082 _dns_pendings.insert(_dns_pendings.end(), p); 00083 } 00084 00086 00089 PENDING_CONTAINER<struct PendingDns> get_dns_pendings() const 00090 { 00091 return _dns_pendings; 00092 } 00093 00095 00098 void set_rel_pending(const struct PendingReleaseProc& p) 00099 { 00100 _rel_pending.status = p.status; 00101 _rel_pending.limit = p.limit; 00102 } 00103 00105 00108 struct PendingReleaseProc get_rel_pending() const 00109 { 00110 return _rel_pending; 00111 } 00112 00114 00117 void insert_concurrent_ticket(int ticket) 00118 { 00119 _concurrent_tickets.insert(ticket); 00120 } 00121 00123 00126 set<int> get_concurrent_tickets() const 00127 { 00128 return _concurrent_tickets; 00129 } 00130 00132 void reset() 00133 { 00134 DomainCreateRsp::reset(); 00135 _ticketNumber = 0; 00136 _doc_pendings.clear(); 00137 _dns_pendings.clear(); 00138 _rel_pending.status = ""; 00139 _rel_pending.limit = ""; 00140 _concurrent_tickets.clear(); 00141 } 00142 00143 protected: 00145 int _ticketNumber; 00146 00147 // Pendings 00149 PENDING_CONTAINER<struct PendingDoc> _doc_pendings; 00150 00152 PENDING_CONTAINER<struct PendingDns> _dns_pendings; 00153 00155 struct PendingReleaseProc _rel_pending; 00156 00158 set<int> _concurrent_tickets; 00159 00160 }; 00161 00162 LIBEPP_NICBR_NS_END 00163 #endif //__BR_DOMAIN_CREATE_RSP_H__