Mbed port of the Simple Plain Xml parser. See http://code.google.com/p/spxml/ for more details. This library uses less memory and is much better suited to streaming data than TinyXML (doesn\'t use as much C++ features, and especially works without streams). See http://mbed.org/users/hlipka/notebook/xml-parsing/ for usage examples.
Dependents: spxmltest_weather VFD_fontx2_weather weather_LCD_display News_LCD_display ... more
spxmlutils.hpp
- Committer:
- hlipka
- Date:
- 2010-11-24
- Revision:
- 0:3fa97f2c0505
File content as of revision 0:3fa97f2c0505:
/* * Copyright 2007 Stephen Liu * LGPL, see http://code.google.com/p/spxml/ * For license terms, see the file COPYING along with this library. */ #ifndef __spxmlutils_hpp__ #define __spxmlutils_hpp__ #include <stdio.h> typedef struct tagSP_XmlArrayListNode SP_XmlArrayListNode_t; class SP_XmlArrayList { public: static const int LAST_INDEX; SP_XmlArrayList( int initCount = 2 ); virtual ~SP_XmlArrayList(); int getCount() const; int append( void * value ); const void * getItem( int index ) const; void * takeItem( int index ); void sort( int ( * cmpFunc )( const void *, const void * ) ); private: SP_XmlArrayList( SP_XmlArrayList & ); SP_XmlArrayList & operator=( SP_XmlArrayList & ); int mMaxCount; int mCount; void ** mFirst; }; class SP_XmlQueue { public: SP_XmlQueue(); virtual ~SP_XmlQueue(); void push( void * item ); void * pop(); void * top(); private: void ** mEntries; unsigned int mHead; unsigned int mTail; unsigned int mCount; unsigned int mMaxCount; }; class SP_XmlStringBuffer { public: SP_XmlStringBuffer(); virtual ~SP_XmlStringBuffer(); int append( char c ); int append( const char * value, int size = 0 ); int getSize() const; const char * getBuffer() const; char * takeBuffer(); void clean(); private: SP_XmlStringBuffer( SP_XmlStringBuffer & ); SP_XmlStringBuffer & operator=( SP_XmlStringBuffer & ); void init(); char * mBuffer; int mMaxSize; int mSize; }; #ifdef WIN32 #define snprintf _snprintf #define strncasecmp strnicmp #define strcasecmp stricmp #endif #endif