Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

pana_xml_errorreporter.cxx

00001 /* BEGIN_COPYRIGHT                                                        */
00002 /*                                                                        */
00003 /* Open Diameter: Open-source software for the Diameter and               */
00004 /*                Diameter related protocols                              */
00005 /*                                                                        */
00006 /* Copyright (C) 2002-2004 Open Diameter Project                          */
00007 /*                                                                        */
00008 /* This library is free software; you can redistribute it and/or modify   */
00009 /* it under the terms of the GNU Lesser General Public License as         */
00010 /* published by the Free Software Foundation; either version 2.1 of the   */
00011 /* License, or (at your option) any later version.                        */
00012 /*                                                                        */
00013 /* This library is distributed in the hope that it will be useful,        */
00014 /* but WITHOUT ANY WARRANTY; without even the implied warranty of         */
00015 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU      */
00016 /* Lesser General Public License for more details.                        */
00017 /*                                                                        */
00018 /* You should have received a copy of the GNU Lesser General Public       */
00019 /* License along with this library; if not, write to the Free Software    */
00020 /* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307    */
00021 /* USA.                                                                   */
00022 /*                                                                        */
00023 /* In addition, when you copy and redistribute some or the entire part of */
00024 /* the source code of this software with or without modification, you     */
00025 /* MUST include this copyright notice in each copy.                       */
00026 /*                                                                        */
00027 /* If you make any changes that are appeared to be useful, please send    */
00028 /* sources that include the changed part to                               */
00029 /* diameter-developers@lists.sourceforge.net so that we can reflect your  */
00030 /* changes to one unified version of this software.                       */
00031 /*                                                                        */
00032 /* END_COPYRIGHT                                                          */
00033 
00034 #include <xercesc/util/XMLString.hpp>
00035 #include <xercesc/sax/SAXParseException.hpp>
00036 #include "pana_xml_errorreporter.h"
00037 #include "ace/Log_Msg.h"
00038 
00039 /*
00040  * Utility class for string conversion
00041  */
00042 class DOMStrX {
00043     public:
00044        DOMStrX(const XMLCh * const toTranscode) { localRef_ = XMLString::transcode(toTranscode); }
00045 
00046        ~DOMStrX() { XMLString::release(&localRef_); }
00047 
00048        char *localRef() { return localRef_; }
00049 
00050     private:
00051        char *localRef_;
00052 };
00053 
00054 void XMLDOMTreeErrorReporter::warning(const SAXParseException& toCatch)
00055 {
00056     DOMStrX strx(toCatch.getMessage());
00057 
00058     ACE_DEBUG((LM_ERROR, "(%P|%t) Warning at line=%d, column=%d, msg=%s\n",
00059                   toCatch.getLineNumber(),
00060                   toCatch.getColumnNumber(),
00061                   strx.localRef()));
00062 }
00063 
00064 void XMLDOMTreeErrorReporter::error(const SAXParseException& toCatch)
00065 {
00066     DOMStrX strx(toCatch.getMessage());
00067 
00068     fSawErrors = true;
00069 
00070     ACE_DEBUG((LM_ERROR, "(%P|%t) Error at line=%d, column=%d, msg=%s\n",
00071                   toCatch.getLineNumber(),
00072                   toCatch.getColumnNumber(),
00073                   strx.localRef()));
00074 }
00075 
00076 void XMLDOMTreeErrorReporter::fatalError(const SAXParseException& toCatch)
00077 {
00078     DOMStrX strx(toCatch.getMessage());
00079 
00080     fSawErrors = true;
00081 
00082     ACE_DEBUG((LM_ERROR, "(%P|%t) Fatal error at line=%d, column=%d, msg=%s\n",
00083                   toCatch.getLineNumber(),
00084                   toCatch.getColumnNumber(),
00085                   strx.localRef()));
00086 }
00087 
00088 

Generated on Fri Jun 25 19:18:30 2004 for PANA by doxygen 1.3.5