00001 /************************************************************************ 00002 * EPP RTK C++ 00003 * Copyright (C) 2001, 2002 The Global Name Registry, Limited 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 * The Global Name Registry, Limited 00023 * 125 High Holborn 00024 * London WC1V 6QA 00025 * United Kingdom 00026 ************************************************************************/ 00027 00028 #ifndef __EPP_EPPXMLBASE_H 00029 #define __EPP_EPPXMLBASE_H 00030 00036 #include <domtools/dom_wrapper.h> 00037 #include "../config.h" 00038 #include "epp_eppdata.h" 00039 #include "epp_AuthInfo.h" 00040 #include "epp_Credentials.h" 00041 #include "epp_Response.h" 00042 #include "epp_Greeting.h" 00043 #include "epp_Service.h" 00044 #include "../epp_Unspec.h" 00045 00046 00047 namespace eppobject { namespace epp { 00048 00052 void createStandardXMLHeader(EPP_output & outputobject); 00053 00054 00058 void createStandardXMLFooter(EPP_output & outputobject); 00059 00060 00065 void addUnspecElement(EPP_output & outputobject, 00066 const epp_Unspec_ref unspecpart); 00067 00068 00074 void addCredsElement(EPP_output & outputobject, 00075 const epp_Credentials_ref credspart); 00076 00077 00084 void addAuthInfoElement(EPP_output & outputobject, 00085 const epp_AuthInfo_ref element, 00086 const epp_string & tag); 00087 00088 00093 epp_AuthInfo_ref createAuthInfoObject(const domtools::dom_ptr & authNode); 00094 00095 00101 epp_string returnTransferType(const epp_TransferOpType & statusType); 00102 00103 00109 epp_TransferStatusType returnTransferStatusType(const epp_string & statusType); 00110 00111 00117 epp_AuthInfoType returnAuthInfoType(const epp_string & infoType); 00118 00119 00127 domtools::dom_ptr createDOMDocument(const epp_string & xml); 00128 00129 00136 epp_Response_ref createGenericResponse(domtools::dom_ptr & node); 00137 00138 00144 epp_Greeting_ref createGreetingResponse(domtools::dom_ptr & node); 00145 00146 00153 domtools::dom_ptr getresDataInfo(const domtools::dom_ptr & responseNode, const string & tag); 00154 00155 00161 epp_Service_ref createServiceObject(domtools::dom_ptr & node); 00162 00163 00164 //Only deprecated functions below this, please... 00165 00171 epp_AuthInfo_ref createAuthInfoObject(DOM_Node authNode); 00172 00180 DOM_Document createDOM_Document(const epp_string & xml); 00181 00189 DOM_Node getresDataInfo(const DOM_Node & responseNode, const string & tag); 00190 00198 epp_Response_ref createGenericResponse(DOM_Node & node); 00199 00206 epp_Greeting_ref createGreetingResponse(DOM_Node & node); 00207 00214 epp_Service_ref createServiceObject(DOM_Node & node); 00215 00216 }}; 00217 00218 #endif