Crazy Eddie's GUI System 0.8.7
Loading...
Searching...
No Matches
XMLParserModules/Expat/XMLParser.h
1/***********************************************************************
2 created: Mon Mar 6 2006
3 author: Paul D Turner <paul@cegui.org.uk> (based on Dalfy's code)
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 _CEGUIExpatParser_h_
28#define _CEGUIExpatParser_h_
29
30#include "../../XMLParser.h"
31
32#if (defined( __WIN32__ ) || defined( _WIN32 )) && !defined(CEGUI_STATIC)
33# ifdef CEGUIEXPATPARSER_EXPORTS
34# define CEGUIEXPATPARSER_API __declspec(dllexport)
35# else
36# define CEGUIEXPATPARSER_API __declspec(dllimport)
37# endif
38#else
39# define CEGUIEXPATPARSER_API
40#endif
41
42// Start of CEGUI namespace section
43namespace CEGUI
44{
45
50class CEGUIEXPATPARSER_API ExpatParser : public XMLParser
51{
52public:
53 ExpatParser(void);
54 ~ExpatParser(void);
55
56 // Implementation of public abstract interface
58
59protected:
60 // Implementation of protected abstract interface.
61 bool initialiseImpl(void);
62 // Implementation of protected abstract interface.
63 void cleanupImpl(void);
64 // C++ class methods name are not valide C function pointer. static solve this
65 static void startElement(void* data, const char* element, const char**attr); // Expat handlers
66 static void endElement(void* data, const char* element); // Expat handlers
67 static void characterData(void* data, const char* text, int len); // Expat handlers
68};
69
70} // End of CEGUI namespace section
71
72#endif // end of guard _CEGUIEXpatParser_h_
Implementation of XMLParser using Expat.
Definition XMLParserModules/Expat/XMLParser.h:51
void cleanupImpl(void)
abstract method which cleans up the XMLParser after use.
bool initialiseImpl(void)
abstract method which initialises the XMLParser ready for use.
void parseXML(XMLHandler &handler, const RawDataContainer &source, const String &schemaName)
abstract method which initiates parsing of an XML.
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
base class for properties able to do native set/get
Definition TypedProperty.h:50
Definition XMLHandler.h:37
This is an abstract class that is used by CEGUI to interface with XML parser libraries.
Definition XMLParser.h:44
Main namespace for Crazy Eddie's GUI Library.
Definition arch_overview.dox:1