Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

saxemitter.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002     saxemitter.cpp  -  Definition of SAXEmitter class methods
00003                              -------------------
00004     begin                : June 21 2002
00005     copyright            : (C) 2003 by Vojtìch Toman
00006     email                : vtoman@lit.cz
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00026 #ifdef __GNUG__
00027 #pragma implementation
00028 #endif
00029 
00030 
00031 #include "saxemitter.h"
00032 
00033 
00040 #define SAFE_CALL_RECEPTOR(x)           \
00041 if (saxReceptor)                        \
00042   saxReceptor->x;
00043 
00044 
00045 
00052 #define SAFE_CALL_RECEPTOR_RETURN(x)    \
00053 if (saxReceptor)                        \
00054   return saxReceptor->x;                \
00055 else                                    \
00056   return 1;
00057 
00058 
00059 
00060 
00064 SAXEmitter::SAXEmitter(void)
00065   : SAXBase()
00066 {
00067   saxReceptor = 0;
00068 }
00069 
00070 
00076 SAXEmitter::SAXEmitter(SAXReceptor *receptor)
00077   : SAXBase()
00078 {
00079   saxReceptor = receptor;
00080 }
00081 
00082 
00088 void SAXEmitter::setSAXReceptor(SAXReceptor *receptor)
00089 {
00090   saxReceptor = receptor;
00091 }
00092 
00093 
00094 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00095 
00096 
00100 void SAXEmitter::reportError(void)
00101 {
00102   SAFE_CALL_RECEPTOR(reportError());
00103 //   FATAL("SAX emitter error!");
00104 }
00105 
00106 
00114 void SAXEmitter::startElement(void *userData, const XmlChar *name, const XmlChar **attr)
00115 {
00116   SAFE_CALL_RECEPTOR(startElement(userData, name, attr));
00117 }
00118 
00119 
00120 
00127 void SAXEmitter::endElement(void *userData,
00128                             const XmlChar *name)
00129 {
00130   SAFE_CALL_RECEPTOR(endElement(userData, name));
00131 }
00132 
00133 
00134 
00135 
00136 
00144 void SAXEmitter::characterData(void *userData,
00145                                const XmlChar *data,
00146                                int length)
00147 {
00148   SAFE_CALL_RECEPTOR(characterData(userData, data, length));
00149 }
00150 
00151 
00152 
00160 void SAXEmitter::processingInstruction(void *userData,
00161                                        const XmlChar *target,
00162                                        const XmlChar *data)
00163 {
00164   SAFE_CALL_RECEPTOR(processingInstruction(userData, target, data));
00165 }
00166 
00167 
00174 void SAXEmitter::comment(void *userData,
00175                          const XmlChar *data)
00176 {
00177   SAFE_CALL_RECEPTOR(comment(userData, data));
00178 }
00179 
00180 
00186 void SAXEmitter::startCDATASection(void *userData)
00187 {
00188   SAFE_CALL_RECEPTOR(startCDATASection(userData));
00189 }
00190 
00191 
00197 void SAXEmitter::endCDATASection(void *userData)
00198 {
00199   SAFE_CALL_RECEPTOR(endCDATASection(userData));
00200 }
00201 
00202 
00210 void SAXEmitter::defaultHandler(void *userData,
00211                                 const XmlChar *data,
00212                                 int length)
00213 {
00214   SAFE_CALL_RECEPTOR(defaultHandler(userData, data, length));
00215 }
00216 
00217 
00225 int SAXEmitter::unknownEncoding(void *unknownEncodingData,
00226                                 const XmlChar *name,
00227                                 XML_Encoding *info)
00228 {
00229   SAFE_CALL_RECEPTOR_RETURN(unknownEncoding(unknownEncodingData, name, info));
00230 }
00231 
00232 
00241 void SAXEmitter::xmlDecl(void *userData,
00242                          const XmlChar *version,
00243                          const XmlChar *encoding,
00244                          int standalone)
00245 {
00246   SAFE_CALL_RECEPTOR(xmlDecl(userData, version, encoding, standalone));
00247 }
00248 
00249 
00259 void SAXEmitter::startDoctypeDecl(void *userData,
00260                                   const XmlChar *doctypeName,
00261                                   const XmlChar *systemId,
00262                                   const XmlChar *publicId,
00263                                   int hasInternalSubset)
00264 {
00265   SAFE_CALL_RECEPTOR(startDoctypeDecl(userData, doctypeName, systemId, publicId, hasInternalSubset));
00266 }
00267 
00268 
00269 
00275 void SAXEmitter::endDoctypeDecl(void *userData)
00276 {
00277   SAFE_CALL_RECEPTOR(endDoctypeDecl(userData));
00278 }
00279 
00280 
00294 void SAXEmitter::entityDecl(void *userData,
00295                             const XmlChar *entityName,
00296                             int isParameterEntity,
00297                             const XmlChar *value,
00298                             int valueLength,
00299                             const XmlChar *base,
00300                             const XmlChar *systemId,
00301                             const XmlChar *publicId,
00302                             const XmlChar *notationName)
00303 {
00304   SAFE_CALL_RECEPTOR(entityDecl(userData, entityName, isParameterEntity, value, valueLength, base, systemId, publicId, notationName));
00305 }
00306 
00307 
00308 
00318 void SAXEmitter::notationDecl(void *userData,
00319                               const XmlChar *notationName,
00320                               const XmlChar *base,
00321                               const XmlChar *systemId,
00322                               const XmlChar *publicId)
00323 {
00324   SAFE_CALL_RECEPTOR(notationDecl(userData, notationName, base, systemId, publicId));
00325 }
00326 
00327 
00328 

Generated on Wed Feb 5 10:43:02 2003 for Exalt by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002