00001 /* ${copyright}$ */ 00002 /* $Id: BrDomainInfoRsp.H 1040 2009-10-01 17:49:12Z fneves $ */ 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(const 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 _dsInfo = parent.get_dsInfo(); 00050 } 00051 00053 00056 void set_ticketNumber(int ticketNumber) 00057 { 00058 _ticketNumber = ticketNumber; 00059 } 00060 00062 /* 00063 @param Ticket Number 00064 */ 00065 int get_ticketNumber() const 00066 { 00067 return _ticketNumber; 00068 } 00069 00071 00074 void set_organization(const string& organization) 00075 { 00076 _organization = organization; 00077 } 00078 00080 00083 string get_organization() const 00084 { 00085 return _organization; 00086 } 00087 00089 00092 void set_releaseProcessFlags(const struct ReleaseProcessFlags& rpf) 00093 { 00094 _releaseProcessFlags.flag1 = rpf.flag1; 00095 _releaseProcessFlags.flag2 = rpf.flag2; 00096 _releaseProcessFlags.flag3 = rpf.flag3; 00097 } 00098 00100 00103 struct ReleaseProcessFlags get_releaseProcessFlags() const 00104 { 00105 return _releaseProcessFlags; 00106 } 00107 00109 00112 void insert_doc_pending(const struct PendingDoc& p) 00113 { 00114 _doc_pendings.insert(_doc_pendings.end(), p); 00115 } 00116 00118 00121 PENDING_CONTAINER<struct PendingDoc> get_doc_pendings() const 00122 { 00123 return _doc_pendings; 00124 } 00125 00127 00130 void insert_dns_pending(const struct PendingDns& p) 00131 { 00132 _dns_pendings.insert(_dns_pendings.end(), p); 00133 } 00134 00136 00139 PENDING_CONTAINER<struct PendingDns> get_dns_pendings() 00140 { 00141 return _dns_pendings; 00142 } 00143 00145 00148 void set_rel_pending(const struct PendingReleaseProc& p) 00149 { 00150 _rel_pending.status = p.status; 00151 _rel_pending.limit = p.limit; 00152 } 00153 00155 00158 struct PendingReleaseProc get_rel_pending() const 00159 { 00160 return _rel_pending; 00161 } 00162 00164 00167 void insert_concurrent_ticket(int ticket) 00168 { 00169 _concurrent_tickets.insert(ticket); 00170 } 00171 00173 00176 set<int> get_concurrent_tickets() const 00177 { 00178 return _concurrent_tickets; 00179 } 00180 00182 00185 void set_publication_flag(const string& publicationFlag) 00186 { 00187 _publicationFlag = publicationFlag; 00188 } 00189 00191 00194 string get_publication_flag() const 00195 { 00196 return _publicationFlag; 00197 } 00198 00200 00204 void insert_onhold_reason(const string& reason) 00205 { 00206 _onhold_reasons.insert(reason); 00207 } 00208 00210 00213 set<string> get_onhold_reasons() const 00214 { 00215 return _onhold_reasons; 00216 } 00217 00219 00222 void set_auto_renew(int auto_renew) 00223 { 00224 _auto_renew = auto_renew; 00225 } 00226 00228 00231 int get_auto_renew() const 00232 { 00233 return _auto_renew; 00234 } 00235 00237 void reset() 00238 { 00239 DomainInfoRsp::reset(); 00240 _ticketNumber = 0; 00241 _organization = ""; 00242 _releaseProcessFlags.flag1 = 0; 00243 _releaseProcessFlags.flag2 = 0; 00244 _releaseProcessFlags.flag3 = 0; 00245 _doc_pendings.clear(); 00246 _dns_pendings.clear(); 00247 _rel_pending.status = ""; 00248 _rel_pending.limit = ""; 00249 _concurrent_tickets.clear(); 00250 _publicationFlag = ""; 00251 _onhold_reasons.clear(); 00252 _auto_renew = -1; 00253 } 00254 00256 00259 void set_active(int active) 00260 { 00261 set_auto_renew(active); 00262 } 00263 00265 00268 int get_active() 00269 { 00270 return get_auto_renew(); 00271 } 00272 00273 protected: 00275 int _ticketNumber; 00276 00278 string _organization; 00279 00281 struct ReleaseProcessFlags _releaseProcessFlags; 00282 00283 // Pendings 00285 PENDING_CONTAINER<struct PendingDoc> _doc_pendings; 00286 00288 PENDING_CONTAINER<struct PendingDns> _dns_pendings; 00289 00291 struct PendingReleaseProc _rel_pending; 00292 00294 set<int> _concurrent_tickets; 00295 00297 string _publicationFlag; 00298 00300 set<string> _onhold_reasons; 00301 00303 int _auto_renew; 00304 }; 00305 00306 LIBEPP_NICBR_NS_END 00307 #endif //__BR_DOMAIN_INFO_RSP_H__