00001 /* ${copyright}$ */ 00002 /* $Id: Logout.H 543 2006-03-07 12:31:53Z cesar $ */ 00007 #ifndef __LOGOUT_H__ 00008 #define __LOGOUT_H__ 00009 00010 #include <memory> 00011 00012 #include "libepp_nicbr.H" 00013 00014 #include "Action.H" 00015 #include "Command.H" 00016 #include "Response.H" 00017 00018 using std::auto_ptr; 00019 00020 LIBEPP_NICBR_NS_BEGIN 00021 00023 class Logout : public Action 00024 { 00025 public: 00026 00028 Logout(const ActionType type = LOGOUT) : Action(type) 00029 { 00030 if (type == LOGOUT) { 00031 _response = auto_ptr<Response>(new Response()); 00032 _command = auto_ptr<Command>(new Command()); 00033 } 00034 } 00035 00037 00041 void set_response(const string &xml_payload, DomParser *parser) 00042 { 00043 get_response()->reset(); 00044 parser->parse_logout_rsp(xml_payload, _response.get()); 00045 } 00046 00048 00051 void set_xml_template(const string &xml_template) 00052 { 00053 Action::set_xml_template_common(xml_template); 00054 } 00055 00056 }; 00057 00058 LIBEPP_NICBR_NS_END 00059 #endif //__LOGOUT_H__