00001 /************************************************************************ 00002 * EPP RTK C++ 00003 * Copyright (C) 2001 Global Name Registry 00004 * 00005 * This library is free software; you can redistribute it and/or modify it 00006 * under the terms of the GNU Lesser General Public License as published 00007 * by the Free Software Foundation; either version 2.1 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, but 00011 * WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; if not, write to the Free Software 00017 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 * 00019 * Contact information: epprtk@gnr.com 00020 * 00021 * EPP RTK 00022 * GNR Ltd. 00023 * 125 High Holborn 00024 * London WC1V 6QA 00025 * United Kingdom 00026 ************************************************************************/ 00027 00028 #ifndef __EPP_DOMAINUPDATE_H 00029 #define __EPP_DOMAINUPDATE_H 00030 00031 #include "data/epp_DomainUpdateReq.h" 00032 #include "data/epp_DomainUpdateRsp.h" 00033 #include "epp_Action.h" 00034 #include "data/epp_eppXMLbase.h" 00035 00036 namespace eppobject { namespace domain { 00037 00038 class epp_DomainUpdate : public eppobject::epp::epp_Action { 00039 private: 00040 epp_DomainUpdateReq_ref m_request; 00041 epp_DomainUpdateRsp_ref m_response; 00042 void addRemAddElement(eppobject::epp::EPP_output & outputobject, 00043 const epp_DomainUpdateAddRemove_ref element, 00044 const eppobject::epp::epp_string & mode); 00045 void addChangeElement(eppobject::epp::EPP_output & outputobject, 00046 const epp_DomainUpdateChange_ref element); 00047 00048 public: 00049 epp_DomainUpdate() {}; 00050 00051 ~epp_DomainUpdate() {}; 00052 00053 void setRequestData(const epp_DomainUpdateReq & parms); 00054 epp_DomainUpdateRsp_ref getResponseData(); 00055 00056 virtual eppobject::epp::epp_string toXML(); 00057 virtual void fromXML(const eppobject::epp::epp_string & xml); 00058 }; 00059 00060 typedef refcnt_ptr<epp_DomainUpdate> epp_DomainUpdate_ref; 00061 00062 }}; 00063 00064 #endif