Crazy Eddie's GUI System  0.8.7
XMLParser.h
1 /***********************************************************************
2  created: 12/3/2005
3  author: Paul D Turner
4 *************************************************************************/
5 /***************************************************************************
6  * Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team
7  *
8  * Permission is hereby granted, free of charge, to any person obtaining
9  * a copy of this software and associated documentation files (the
10  * "Software"), to deal in the Software without restriction, including
11  * without limitation the rights to use, copy, modify, merge, publish,
12  * distribute, sublicense, and/or sell copies of the Software, and to
13  * permit persons to whom the Software is furnished to do so, subject to
14  * the following conditions:
15  *
16  * The above copyright notice and this permission notice shall be
17  * included in all copies or substantial portions of the Software.
18  *
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22  * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
23  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25  * OTHER DEALINGS IN THE SOFTWARE.
26  ***************************************************************************/
27 #ifndef _CEGUIXMLParser_h_
28 #define _CEGUIXMLParser_h_
29 
30 #include "CEGUI/Base.h"
31 #include "CEGUI/String.h"
32 #include "CEGUI/PropertySet.h"
33 
34 // Start of CEGUI namespace section
35 namespace CEGUI
36 {
41  class CEGUIEXPORT XMLParser :
42  public PropertySet,
43  public AllocatedObject<XMLParser>
44  {
45  public:
50  XMLParser(void);
51 
56  virtual ~XMLParser(void);
57 
69  bool initialise(void);
70 
81  void cleanup(void);
82 
100  virtual void parseXML(XMLHandler& handler, const RawDataContainer& source, const String& schemaName) = 0;
101 
123  virtual void parseXMLFile(XMLHandler& handler, const String& filename, const String& schemaName, const String& resourceGroup);
124 
142  virtual void parseXMLString(XMLHandler& handler, const String& source, const String& schemaName);
143 
152  const String& getIdentifierString() const;
153 
154  protected:
163  virtual bool initialiseImpl(void) = 0;
164 
173  virtual void cleanupImpl(void) = 0;
174 
175  // data fields
177 
178  private:
179  bool d_initialised;
180  };
181 
182 } // End of CEGUI namespace section
183 
184 
185 #endif // end of guard _CEGUIXMLParser_h_
Definition: MemoryAllocatedObject.h:110
Interface providing introspection capabilities.
Definition: PropertySet.h:108
Class used as the databuffer for loading files throughout the library.
Definition: DataContainer.h:44
String class used within the GUI system.
Definition: String.h:64
Definition: XMLHandler.h:37
This is an abstract class that is used by CEGUI to interface with XML parser libraries.
Definition: XMLParser.h:44
String d_identifierString
String that holds some id information about the module.
Definition: XMLParser.h:176
XMLParser(void)
XMLParser base class constructor.
virtual void parseXML(XMLHandler &handler, const RawDataContainer &source, const String &schemaName)=0
abstract method which initiates parsing of an XML.
virtual void parseXMLFile(XMLHandler &handler, const String &filename, const String &schemaName, const String &resourceGroup)
convenience method which initiates parsing of an XML file.
const String & getIdentifierString() const
Return identification string for the XML parser module. If the internal id string has not been set by...
bool initialise(void)
Initialises the XMLParser module ready for use.
void cleanup(void)
Cleans up the XMLParser module after use.
virtual bool initialiseImpl(void)=0
abstract method which initialises the XMLParser ready for use.
virtual void parseXMLString(XMLHandler &handler, const String &source, const String &schemaName)
convenience method which initiates parsing of an XML source from string.
virtual void cleanupImpl(void)=0
abstract method which cleans up the XMLParser after use.
virtual ~XMLParser(void)
XMLParser base class destructor.
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1