xref: /netbsd-src/external/gpl3/binutils/dist/gprofng/src/SAXParserFactory.h (revision cb63e24e8d6aae7ddac1859a9015f48b1d8bd90e)
1 /* Copyright (C) 2021-2024 Free Software Foundation, Inc.
2    Contributed by Oracle.
3 
4    This file is part of GNU Binutils.
5 
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3, or (at your option)
9    any later version.
10 
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15 
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, write to the Free Software
18    Foundation, 51 Franklin Street - Fifth Floor, Boston,
19    MA 02110-1301, USA.  */
20 
21 /*
22  *	javax/xml/parsers/SAXParserFactory.java
23  *
24  *	Based on JavaTM 2 Platform Standard Ed. 5.0
25  */
26 
27 #ifndef _SAXParserFactory_h
28 #define _SAXParserFactory_h
29 
30 class SAXParser;
31 
32 class SAXParserFactory
33 {
34 public:
35   static SAXParserFactory *newInstance ();
36 
~SAXParserFactory()37   virtual ~SAXParserFactory () { }
38   virtual SAXParser *newSAXParser () = 0;
39   virtual void setFeature (const char *name, bool value) = 0;
40   virtual bool getFeature (const char *name) = 0;
41 
42   void
setNamespaceAware(bool awareness)43   setNamespaceAware (bool awareness)
44   {
45     namespaceAware = awareness;
46   }
47 
48   void
setValidating(bool _validating)49   setValidating (bool _validating)
50   {
51     validating = _validating;
52   }
53 
54   bool
isNamespaceAware()55   isNamespaceAware ()
56   {
57     return namespaceAware;
58   }
59 
60   bool
isValidating()61   isValidating ()
62   {
63     return validating;
64   }
65 
66 protected:
SAXParserFactory()67   SAXParserFactory () { }
68 
69 private:
70   static const char *DEFAULT_PROPERTY_NAME;
71   bool validating;
72   bool namespaceAware;
73 };
74 
75 #endif /* _SAXParserFactory_h */
76