00001 /* ${copyright}$ */ 00002 /* $Id: BrDomainInfoRsp.H 680 2006-04-20 22:09:46Z cacm $ */ 00007 #ifndef __BR_DOMAIN_INFO_RSP_H__ 00008 #define __BR_DOMAIN_INFO_RSP_H__ 00009 00010 #include <set> 00011 00012 #include "BrDomainCommon.H" 00013 #include "DomainInfoRsp.H" 00014 00015 using std::set; 00016 00017 LIBEPP_NICBR_NS_BEGIN 00018 00020 class BrDomainInfoRsp : public DomainInfoRsp 00021 { 00022 public: 00023 00025 BrDomainInfoRsp(bool reset = true) : DomainInfoRsp(false) 00026 { 00027 if (reset) { 00028 this->reset(); 00029 } 00030 } 00031 00033 void copy_parent_data(DomainInfoRsp &parent) 00034 { 00035 _name = parent.get_name(); 00036 _roid = parent.get_roid(); 00037 _status_set = parent.get_status_set(); 00038 _registrant = parent.get_registrant(); 00039 _contacts = parent.get_contacts(); 00040 _nameservers = parent.get_nameservers(); 00041 _clID = parent.get_clID(); 00042 _crID = parent.get_crID(); 00043 _crDate = parent.get_crDate(); 00044 _upID = parent.get_upID(); 00045 _exDate = parent.get_exDate(); 00046 _upDate = parent.get_upDate(); 00047 _trDate = parent.get_trDate(); 00048 _authInfo = parent.get_authInfo(); 00049 } 00050 00052 00055 void set_ticketNumber(int ticketNumber) 00056 { 00057 _ticketNumber = ticketNumber; 00058 } 00059 00061 /* 00062 @param Ticket Number 00063 */ 00064 int get_ticketNumber() 00065 { 00066 return _ticketNumber; 00067 } 00068 00070 00073 void set_organization(string organization) 00074 { 00075 _organization = organization; 00076 } 00077 00079 00082 string get_organization() 00083 { 00084 return _organization; 00085 } 00086 00088 00091 void set_releaseProcessFlags(struct ReleaseProcessFlags rpf) 00092 { 00093 _releaseProcessFlags.flag1 = rpf.flag1; 00094 _releaseProcessFlags.flag2 = rpf.flag2; 00095 _releaseProcessFlags.flag3 = rpf.flag3; 00096 } 00097 00099 00102 struct ReleaseProcessFlags get_releaseProcessFlags() 00103 { 00104 return _releaseProcessFlags; 00105 } 00106 00108 00111 void insert_doc_pending(struct PendingDoc p) 00112 { 00113 _doc_pendings.insert(_doc_pendings.end(), p); 00114 } 00115 00117 00120 PENDING_CONTAINER<struct PendingDoc> get_doc_pendings() 00121 { 00122 return _doc_pendings; 00123 } 00124 00126 00129 void insert_dns_pending(struct PendingDns p) 00130 { 00131 _dns_pendings.insert(_dns_pendings.end(), p); 00132 } 00133 00135 00138 PENDING_CONTAINER<struct PendingDns> get_dns_pendings() 00139 { 00140 return _dns_pendings; 00141 } 00142 00144 00147 void set_rel_pending(struct PendingReleaseProc p) 00148 { 00149 _rel_pending.status = p.status; 00150 _rel_pending.limit = p.limit; 00151 } 00152 00154 00157 struct PendingReleaseProc get_rel_pending() 00158 { 00159 return _rel_pending; 00160 } 00161 00163 00166 void insert_concurrent_ticket(int ticket) 00167 { 00168 _concurrent_tickets.insert(ticket); 00169 } 00170 00172 00175 set<int> get_concurrent_tickets() 00176 { 00177 return _concurrent_tickets; 00178 } 00179 00181 00184 void set_publication_flag(string publicationFlag) 00185 { 00186 _publicationFlag = publicationFlag; 00187 } 00188 00190 00193 string get_publication_flag() 00194 { 00195 return _publicationFlag; 00196 } 00197 00199 00203 void insert_onhold_reason(string reason) 00204 { 00205 _onhold_reasons.insert(reason); 00206 } 00207 00209 00212 set<string> get_onhold_reasons() 00213 { 00214 return _onhold_reasons; 00215 } 00216 00218 00221 void set_active(int active) 00222 { 00223 _active = active; 00224 } 00225 00227 00230 int get_active() 00231 { 00232 return _active; 00233 } 00234 00236 void reset() 00237 { 00238 DomainInfoRsp::reset(); 00239 _ticketNumber = 0; 00240 _organization = ""; 00241 _releaseProcessFlags.flag1 = 0; 00242 _releaseProcessFlags.flag2 = 0; 00243 _releaseProcessFlags.flag3 = 0; 00244 _doc_pendings.clear(); 00245 _dns_pendings.clear(); 00246 _rel_pending.status = ""; 00247 _rel_pending.limit = ""; 00248 _concurrent_tickets.clear(); 00249 _publicationFlag = ""; 00250 _onhold_reasons.clear(); 00251 _active = -1; 00252 } 00253 00254 protected: 00256 int _ticketNumber; 00257 00259 string _organization; 00260 00262 struct ReleaseProcessFlags _releaseProcessFlags; 00263 00264 // Pendings 00266 PENDING_CONTAINER<struct PendingDoc> _doc_pendings; 00267 00269 PENDING_CONTAINER<struct PendingDns> _dns_pendings; 00270 00272 struct PendingReleaseProc _rel_pending; 00273 00275 set<int> _concurrent_tickets; 00276 00278 string _publicationFlag; 00279 00281 set<string> _onhold_reasons; 00282 00284 int _active; 00285 }; 00286 00287 LIBEPP_NICBR_NS_END 00288 #endif //__BR_DOMAIN_INFO_RSP_H__