00001 /* ${copyright}$ */ 00002 /* $Id: DomainInfoRsp.H 1070 2010-07-15 19:00:39Z eduardo $ */ 00007 #ifndef __DOMAIN_INFO_RSP_H__ 00008 #define __DOMAIN_INFO_RSP_H__ 00009 00010 #include <string> 00011 #include <vector> 00012 #include <map> 00013 00014 #include "libepp_nicbr.H" 00015 00016 #include "Response.H" 00017 #include "CommonData.H" // struct NameServer; AuthInfo 00018 #include "DSInfo.H" 00019 00020 using std::string; 00021 using std::set; 00022 using std::map; 00023 using std::less; 00024 00025 LIBEPP_NICBR_NS_BEGIN 00026 00028 class DomainInfoRsp : public Response 00029 { 00030 public: 00031 00033 DomainInfoRsp(bool reset = true) : Response(false) 00034 { 00035 if (reset) { 00036 this->reset(); 00037 } 00038 } 00039 00041 00044 void set_name(const string& name) { _name = name; } 00045 00047 00050 string get_name() const { return _name; } 00051 00053 00056 void set_roid(const string& roid) { _roid = roid; } 00057 00059 00062 string get_roid() const { return _roid; } 00063 00065 00068 void insert_status(const string& status) { _status_set.insert(status); } 00069 00071 00074 set<string> get_status_set() const { return _status_set; } 00075 00077 00080 void set_registrant(const string& registrant) { _registrant = registrant; } 00081 00083 00086 string get_registrant() const { return _registrant; } 00087 00089 00093 void insert_contact(const string& type, const string& identification) 00094 { 00095 _contacts[type] = identification; 00096 } 00097 00099 00102 map< string, string, less<string> > get_contacts() const { return _contacts; } 00103 00105 00108 void insert_nameserver(const struct NameServer &nameserver) 00109 { 00110 _nameservers.push_back(nameserver); 00111 } 00112 00114 00117 vector<struct NameServer> get_nameservers() const { return _nameservers; } 00118 00120 00123 void set_clID(const string& clID) 00124 { 00125 _clID = clID; 00126 } 00127 00129 00132 string get_clID() const { return _clID; } 00133 00135 00138 void set_crID(const string& crID) { _crID = crID; } 00139 00141 00144 string get_crID() const { return _crID; } 00145 00147 00150 void set_crDate(const string& crDate) { _crDate = crDate; } 00151 00153 00156 string get_crDate() const { return _crDate; } 00157 00159 00162 void set_upID(const string& upID) { _upID = upID; } 00163 00165 00168 string get_upID() const { return _upID; } 00169 00171 00174 void set_exDate(const string& exDate) { _exDate = exDate; } 00175 00177 00180 string get_exDate() const { return _exDate; } 00181 00183 00186 void set_upDate(const string& upDate) { _upDate = upDate; } 00187 00189 00192 string get_upDate() const { return _upDate; } 00193 00195 00198 void set_trDate(const string& trDate) { _trDate = trDate; } 00199 00201 00204 string get_trDate() const { return _trDate; } 00205 00207 00210 void set_authInfo(const AuthInfo &authInfo) 00211 { 00212 _authInfo = authInfo; 00213 } 00214 00216 00219 AuthInfo get_authInfo() const { return _authInfo; } 00220 00221 //******************** RFC 4310/5910 BEGIN ******************** 00223 00226 void add_dsInfo(const DSInfo &dsInfo) 00227 { 00228 _ds_list.push_back(dsInfo); 00229 } 00230 00232 00235 list<DSInfo> get_dsInfo() const 00236 { 00237 return _ds_list; 00238 } 00239 00241 00244 void add_keyData(const KeyData &dnskey_data) 00245 { 00246 _dnskey_list.push_back(dnskey_data); 00247 } 00248 00250 00253 list<KeyData> get_keyDataList() const 00254 { 00255 return _dnskey_list; 00256 } 00257 00259 00262 void set_secDnsVersion(string secDnsVersion) 00263 { 00264 _secDnsVersion = secDnsVersion; 00265 } 00266 00268 00271 string get_secDnsVersion() const 00272 { 00273 return _secDnsVersion; 00274 } 00275 //******************** RFC 4310/5910 END ******************** 00276 00278 void reset() 00279 { 00280 Response::reset(); 00281 _name = ""; 00282 _roid = ""; 00283 _status_set.clear(); 00284 _registrant = ""; 00285 _contacts.clear(); 00286 _nameservers.clear(); 00287 _clID = ""; 00288 _crID = ""; 00289 _crDate = ""; 00290 _upID = ""; 00291 _exDate = ""; 00292 _upDate = ""; 00293 _trDate = ""; 00294 _authInfo.reset(); 00295 _ds_list.clear(); 00296 _dnskey_list.clear(); 00297 _secDnsVersion = "0"; 00298 } 00299 00300 protected: 00302 string _name; 00303 00306 string _roid; 00307 00309 set<string> _status_set; 00310 00312 string _registrant; 00313 00315 map< string, string, less<string> > _contacts; 00316 00318 vector<struct NameServer> _nameservers; 00319 00321 string _clID; 00322 00324 string _crID; 00325 00327 string _crDate; 00328 00330 string _upID; 00331 00333 string _exDate; 00334 00336 string _upDate; 00337 00339 string _trDate; 00340 00342 AuthInfo _authInfo; 00343 00345 list<DSInfo> _ds_list; 00346 00348 list<KeyData> _dnskey_list; 00349 00351 string _secDnsVersion; 00352 }; 00353 00354 LIBEPP_NICBR_NS_END 00355 #endif //__DOMAIN_INFO_RSP_H__