00001 /* ${copyright}$ */ 00002 /* $Id: DomainRenew.H 543 2006-03-07 12:31:53Z cesar $ */ 00007 #ifndef __DOMAIN_RENEW_H__ 00008 #define __DOMAIN_RENEW_H__ 00009 00010 #include <memory> 00011 00012 #include "libepp_nicbr.H" 00013 00014 #include "Action.H" 00015 #include "DomainRenewCmd.H" 00016 #include "DomainRenewRsp.H" 00017 00018 using std::auto_ptr; 00019 00020 LIBEPP_NICBR_NS_BEGIN 00021 00023 class DomainRenew : public Action 00024 { 00025 public: 00026 00028 DomainRenew(const ActionType type = DOMAIN_RENEW) : Action(type) 00029 { 00030 if (type == DOMAIN_RENEW) { 00031 _command = auto_ptr<DomainRenewCmd>(new DomainRenewCmd()); 00032 _response = auto_ptr<DomainRenewRsp>(new DomainRenewRsp()); 00033 } 00034 } 00035 00037 00040 void set_xml_template(const string &xml_template); 00041 00043 00047 void set_response(const string &xml_payload, DomParser *parser) 00048 { 00049 get_response()->reset(); 00050 parser->parse_domain_renew_rsp(xml_payload, get_response()); 00051 } 00052 00054 00057 DomainRenewCmd* get_command() { return (DomainRenewCmd*) _command.get(); } 00058 00060 00063 DomainRenewRsp* get_response() { return (DomainRenewRsp*) _response.get(); } 00064 00065 }; 00066 00067 LIBEPP_NICBR_NS_END 00068 #endif //__DOMAIN_RENEW_H__