|  | /* Copyright (C) 2021-2025 Free Software Foundation, Inc. | 
|  | Contributed by Oracle. | 
|  |  | 
|  | This file is part of GNU Binutils. | 
|  |  | 
|  | This program is free software; you can redistribute it and/or modify | 
|  | it under the terms of the GNU General Public License as published by | 
|  | the Free Software Foundation; either version 3, or (at your option) | 
|  | any later version. | 
|  |  | 
|  | This program is distributed in the hope that it will be useful, | 
|  | but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | GNU General Public License for more details. | 
|  |  | 
|  | You should have received a copy of the GNU General Public License | 
|  | along with this program; if not, write to the Free Software | 
|  | Foundation, 51 Franklin Street - Fifth Floor, Boston, | 
|  | MA 02110-1301, USA.  */ | 
|  |  | 
|  | /* | 
|  | *  org/xml/sax/helpers/DefaultHandler.java | 
|  | *  Based on JavaTM 2 Platform Standard Ed. 5.0 | 
|  | */ | 
|  |  | 
|  | #ifndef _DefaultHandler_h | 
|  | #define _DefaultHandler_h | 
|  |  | 
|  | /* | 
|  | *	org/xml/sax/Attributes.java | 
|  | */ | 
|  | class Attributes | 
|  | { | 
|  | public: | 
|  | virtual ~Attributes () { }; | 
|  |  | 
|  | virtual int getLength () = 0; | 
|  | virtual const char *getQName (int index) = 0; | 
|  | virtual const char *getValue (int index) = 0; | 
|  | virtual int getIndex (const char *qName) = 0; | 
|  | virtual const char *getValue (const char *qName) = 0; | 
|  | }; | 
|  |  | 
|  | /* | 
|  | *	org/xml/sax/SAXException.java | 
|  | */ | 
|  | class SAXException | 
|  | { | 
|  | public: | 
|  | SAXException (); | 
|  | SAXException (const char *message); | 
|  | virtual ~SAXException (); | 
|  | char *getMessage (); | 
|  |  | 
|  | private: | 
|  | char *message; | 
|  | }; | 
|  |  | 
|  | class SAXParseException : public SAXException | 
|  | { | 
|  | public: | 
|  | SAXParseException (char *message, int lineNumber, int columnNumber); | 
|  |  | 
|  | int | 
|  | getLineNumber () | 
|  | { | 
|  | return lineNumber; | 
|  | } | 
|  |  | 
|  | int | 
|  | getColumnNumber () | 
|  | { | 
|  | return columnNumber; | 
|  | } | 
|  |  | 
|  | private: | 
|  | int lineNumber; | 
|  | int columnNumber; | 
|  | }; | 
|  |  | 
|  | class DefaultHandler | 
|  | { | 
|  | public: | 
|  | virtual ~DefaultHandler () { }; | 
|  |  | 
|  | virtual void startDocument () = 0; | 
|  | virtual void endDocument () = 0; | 
|  | virtual void startElement (char *uri, char *localName, char *qName, | 
|  | Attributes *attributes) = 0; | 
|  | virtual void endElement (char *uri, char *localName, char *qName) = 0; | 
|  | virtual void characters (char *ch, int start, int length) = 0; | 
|  | virtual void ignorableWhitespace (char *ch, int start, int length) = 0; | 
|  |  | 
|  | virtual void | 
|  | warning (SAXParseException *e) | 
|  | { | 
|  | delete e; | 
|  | } | 
|  |  | 
|  | virtual void | 
|  | error (SAXParseException *e) | 
|  | { | 
|  | delete e; | 
|  | } | 
|  |  | 
|  | virtual void | 
|  | fatalError (SAXParseException *e) | 
|  | { | 
|  | throw ( e); | 
|  | } | 
|  | void dump_startElement (const char *qName, Attributes *attributes); | 
|  | }; | 
|  |  | 
|  | #endif /* _DefaultHandler_h */ |