type XMLError. fix some comments
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 1bf4fda..0757666 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -1072,7 +1072,7 @@
}
-int XMLAttribute::QueryIntValue( int* value ) const
+XMLError XMLAttribute::QueryIntValue( int* value ) const
{
if ( XMLUtil::ToInt( Value(), value )) {
return XML_NO_ERROR;
@@ -1081,7 +1081,7 @@
}
-int XMLAttribute::QueryUnsignedValue( unsigned int* value ) const
+XMLError XMLAttribute::QueryUnsignedValue( unsigned int* value ) const
{
if ( XMLUtil::ToUnsigned( Value(), value )) {
return XML_NO_ERROR;
@@ -1090,7 +1090,7 @@
}
-int XMLAttribute::QueryBoolValue( bool* value ) const
+XMLError XMLAttribute::QueryBoolValue( bool* value ) const
{
if ( XMLUtil::ToBool( Value(), value )) {
return XML_NO_ERROR;
@@ -1099,7 +1099,7 @@
}
-int XMLAttribute::QueryFloatValue( float* value ) const
+XMLError XMLAttribute::QueryFloatValue( float* value ) const
{
if ( XMLUtil::ToFloat( Value(), value )) {
return XML_NO_ERROR;
@@ -1108,7 +1108,7 @@
}
-int XMLAttribute::QueryDoubleValue( double* value ) const
+XMLError XMLAttribute::QueryDoubleValue( double* value ) const
{
if ( XMLUtil::ToDouble( Value(), value )) {
return XML_NO_ERROR;
@@ -1225,7 +1225,7 @@
}
-int XMLElement::QueryIntText( int* _value ) const
+XMLError XMLElement::QueryIntText( int* _value ) const
{
if ( FirstChild() && FirstChild()->ToText() ) {
const char* t = FirstChild()->ToText()->Value();
@@ -1238,7 +1238,7 @@
}
-int XMLElement::QueryUnsignedText( unsigned* _value ) const
+XMLError XMLElement::QueryUnsignedText( unsigned* _value ) const
{
if ( FirstChild() && FirstChild()->ToText() ) {
const char* t = FirstChild()->ToText()->Value();
@@ -1251,7 +1251,7 @@
}
-int XMLElement::QueryBoolText( bool* _value ) const
+XMLError XMLElement::QueryBoolText( bool* _value ) const
{
if ( FirstChild() && FirstChild()->ToText() ) {
const char* t = FirstChild()->ToText()->Value();
@@ -1264,7 +1264,7 @@
}
-int XMLElement::QueryDoubleText( double* _value ) const
+XMLError XMLElement::QueryDoubleText( double* _value ) const
{
if ( FirstChild() && FirstChild()->ToText() ) {
const char* t = FirstChild()->ToText()->Value();
@@ -1277,7 +1277,7 @@
}
-int XMLElement::QueryFloatText( float* _value ) const
+XMLError XMLElement::QueryFloatText( float* _value ) const
{
if ( FirstChild() && FirstChild()->ToText() ) {
const char* t = FirstChild()->ToText()->Value();
@@ -1484,7 +1484,7 @@
XMLNode( 0 ),
_writeBOM( false ),
_processEntities( processEntities ),
- _errorID( 0 ),
+ _errorID( XML_NO_ERROR ),
_whitespace( whitespace ),
_errorStr1( 0 ),
_errorStr2( 0 ),
@@ -1569,7 +1569,7 @@
}
-int XMLDocument::LoadFile( const char* filename )
+XMLError XMLDocument::LoadFile( const char* filename )
{
DeleteChildren();
InitDocument();
@@ -1591,7 +1591,7 @@
}
-int XMLDocument::LoadFile( FILE* fp )
+XMLError XMLDocument::LoadFile( FILE* fp )
{
DeleteChildren();
InitDocument();
@@ -1626,7 +1626,7 @@
}
-int XMLDocument::SaveFile( const char* filename, bool compact )
+XMLError XMLDocument::SaveFile( const char* filename, bool compact )
{
FILE* fp = 0;
#if defined(_MSC_VER) && (_MSC_VER >= 1400 )
@@ -1645,7 +1645,7 @@
}
-int XMLDocument::SaveFile( FILE* fp, bool compact )
+XMLError XMLDocument::SaveFile( FILE* fp, bool compact )
{
XMLPrinter stream( fp, compact );
Print( &stream );
@@ -1653,7 +1653,7 @@
}
-int XMLDocument::Parse( const char* p, size_t len )
+XMLError XMLDocument::Parse( const char* p, size_t len )
{
DeleteChildren();
InitDocument();
@@ -1691,7 +1691,7 @@
}
-void XMLDocument::SetError( int error, const char* str1, const char* str2 )
+void XMLDocument::SetError( XMLError error, const char* str1, const char* str2 )
{
_errorID = error;
_errorStr1 = str1;
diff --git a/tinyxml2.h b/tinyxml2.h
index 071dbbe..b0387e9 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -541,23 +541,29 @@
return _document;
}
+ /// Safely cast to an Element, or null.
virtual XMLElement* ToElement() {
- return 0; ///< Safely cast to an Element, or null.
+ return 0;
}
+ /// Safely cast to Text, or null.
virtual XMLText* ToText() {
- return 0; ///< Safely cast to Text, or null.
+ return 0;
}
+ /// Safely cast to a Comment, or null.
virtual XMLComment* ToComment() {
- return 0; ///< Safely cast to a Comment, or null.
+ return 0;
}
+ /// Safely cast to a Document, or null.
virtual XMLDocument* ToDocument() {
- return 0; ///< Safely cast to a Document, or null.
+ return 0;
}
+ /// Safely cast to a Declaration, or null.
virtual XMLDeclaration* ToDeclaration() {
- return 0; ///< Safely cast to a Declaration, or null.
+ return 0;
}
+ /// Safely cast to an Unknown, or null.
virtual XMLUnknown* ToUnknown() {
- return 0; ///< Safely cast to an Unknown, or null.
+ return 0;
}
virtual const XMLElement* ToElement() const {
@@ -920,7 +926,7 @@
};
-enum {
+enum XMLError {
XML_NO_ERROR = 0,
XML_SUCCESS = 0,
@@ -958,14 +964,17 @@
{
friend class XMLElement;
public:
+ /// The name of the attribute.
const char* Name() const {
- return _name.GetStr(); ///< The name of the attribute.
+ return _name.GetStr();
}
+ /// The value of the attribute.
const char* Value() const {
- return _value.GetStr(); ///< The value of the attribute.
+ return _value.GetStr();
}
+ /// The next attribute in the list.
const XMLAttribute* Next() const {
- return _next; ///< The next attribute in the list.
+ return _next;
}
/** IntAttribute interprets the attribute as an integer, and returns the value.
@@ -1006,15 +1015,15 @@
in the provided paremeter. The function will return XML_NO_ERROR on success,
and XML_WRONG_ATTRIBUTE_TYPE if the conversion is not successful.
*/
- int QueryIntValue( int* value ) const;
+ XMLError QueryIntValue( int* value ) const;
/// See QueryIntAttribute
- int QueryUnsignedValue( unsigned int* value ) const;
+ XMLError QueryUnsignedValue( unsigned int* value ) const;
/// See QueryIntAttribute
- int QueryBoolValue( bool* value ) const;
+ XMLError QueryBoolValue( bool* value ) const;
/// See QueryIntAttribute
- int QueryDoubleValue( double* value ) const;
+ XMLError QueryDoubleValue( double* value ) const;
/// See QueryIntAttribute
- int QueryFloatValue( float* value ) const;
+ XMLError QueryFloatValue( float* value ) const;
/// Set the attribute to a string value.
void SetAttribute( const char* value );
@@ -1147,7 +1156,7 @@
QueryIntAttribute( "foo", &value ); // if "foo" isn't found, value will still be 10
@endverbatim
*/
- int QueryIntAttribute( const char* name, int* value ) const {
+ XMLError QueryIntAttribute( const char* name, int* value ) const {
const XMLAttribute* a = FindAttribute( name );
if ( !a ) {
return XML_NO_ATTRIBUTE;
@@ -1155,7 +1164,7 @@
return a->QueryIntValue( value );
}
/// See QueryIntAttribute()
- int QueryUnsignedAttribute( const char* name, unsigned int* value ) const {
+ XMLError QueryUnsignedAttribute( const char* name, unsigned int* value ) const {
const XMLAttribute* a = FindAttribute( name );
if ( !a ) {
return XML_NO_ATTRIBUTE;
@@ -1163,7 +1172,7 @@
return a->QueryUnsignedValue( value );
}
/// See QueryIntAttribute()
- int QueryBoolAttribute( const char* name, bool* value ) const {
+ XMLError QueryBoolAttribute( const char* name, bool* value ) const {
const XMLAttribute* a = FindAttribute( name );
if ( !a ) {
return XML_NO_ATTRIBUTE;
@@ -1171,7 +1180,7 @@
return a->QueryBoolValue( value );
}
/// See QueryIntAttribute()
- int QueryDoubleAttribute( const char* name, double* value ) const {
+ XMLError QueryDoubleAttribute( const char* name, double* value ) const {
const XMLAttribute* a = FindAttribute( name );
if ( !a ) {
return XML_NO_ATTRIBUTE;
@@ -1179,7 +1188,7 @@
return a->QueryDoubleValue( value );
}
/// See QueryIntAttribute()
- int QueryFloatAttribute( const char* name, float* value ) const {
+ XMLError QueryFloatAttribute( const char* name, float* value ) const {
const XMLAttribute* a = FindAttribute( name );
if ( !a ) {
return XML_NO_ATTRIBUTE;
@@ -1281,15 +1290,15 @@
to the requested type, and XML_NO_TEXT_NODE if there is no child text to query.
*/
- int QueryIntText( int* _value ) const;
+ XMLError QueryIntText( int* _value ) const;
/// See QueryIntText()
- int QueryUnsignedText( unsigned* _value ) const;
+ XMLError QueryUnsignedText( unsigned* _value ) const;
/// See QueryIntText()
- int QueryBoolText( bool* _value ) const;
+ XMLError QueryBoolText( bool* _value ) const;
/// See QueryIntText()
- int QueryDoubleText( double* _value ) const;
+ XMLError QueryDoubleText( double* _value ) const;
/// See QueryIntText()
- int QueryFloatText( float* _value ) const;
+ XMLError QueryFloatText( float* _value ) const;
// internal:
enum {
@@ -1359,14 +1368,14 @@
specified, TinyXML will assume 'xml' points to a
null terminated string.
*/
- int Parse( const char* xml, size_t nBytes=(size_t)(-1) );
+ XMLError Parse( const char* xml, size_t nBytes=(size_t)(-1) );
/**
Load an XML file from disk.
Returns XML_NO_ERROR (0) on success, or
an errorID.
*/
- int LoadFile( const char* filename );
+ XMLError LoadFile( const char* filename );
/**
Load an XML file from disk. You are responsible
@@ -1375,14 +1384,14 @@
Returns XML_NO_ERROR (0) on success, or
an errorID.
*/
- int LoadFile( std::FILE* );
+ XMLError LoadFile( std::FILE* );
/**
Save the XML file to disk.
Returns XML_NO_ERROR (0) on success, or
an errorID.
*/
- int SaveFile( const char* filename, bool compact = false );
+ XMLError SaveFile( const char* filename, bool compact = false );
/**
Save the XML file to disk. You are responsible
@@ -1391,7 +1400,7 @@
Returns XML_NO_ERROR (0) on success, or
an errorID.
*/
- int SaveFile( std::FILE* fp, bool compact = false );
+ XMLError SaveFile( std::FILE* fp, bool compact = false );
bool ProcessEntities() const {
return _processEntities;
@@ -1484,14 +1493,14 @@
node->_parent->DeleteChild( node );
}
- void SetError( int error, const char* str1, const char* str2 );
+ void SetError( XMLError error, const char* str1, const char* str2 );
/// Return true if there was an error parsing the document.
bool Error() const {
return _errorID != XML_NO_ERROR;
}
/// Return the errorID.
- int ErrorID() const {
+ XMLError ErrorID() const {
return _errorID;
}
/// Return a possibly helpful diagnostic location or string.
@@ -1520,13 +1529,13 @@
void operator=( const XMLDocument& ); // not supported
void InitDocument();
- bool _writeBOM;
- bool _processEntities;
- int _errorID;
- Whitespace _whitespace;
+ bool _writeBOM;
+ bool _processEntities;
+ XMLError _errorID;
+ Whitespace _whitespace;
const char* _errorStr1;
const char* _errorStr2;
- char* _charBuffer;
+ char* _charBuffer;
MemPoolT< sizeof(XMLElement) > _elementPool;
MemPoolT< sizeof(XMLAttribute) > _attributePool;
diff --git a/xmltest.cpp b/xmltest.cpp
index f6b2072..ae318ec 100644
--- a/xmltest.cpp
+++ b/xmltest.cpp
@@ -334,7 +334,7 @@
XMLDocument doc;
doc.Parse( error );
- XMLTest( "Bad XML", doc.ErrorID(), (int)XML_ERROR_PARSING_ATTRIBUTE );
+ XMLTest( "Bad XML", doc.ErrorID(), XML_ERROR_PARSING_ATTRIBUTE );
}
{
@@ -633,7 +633,7 @@
XMLDocument doc;
doc.Parse( doctype );
- XMLTest( "Parsing repeated attributes.", (int)XML_ERROR_PARSING_ATTRIBUTE, doc.ErrorID() ); // is an error to tinyxml (didn't use to be, but caused issues)
+ XMLTest( "Parsing repeated attributes.", XML_ERROR_PARSING_ATTRIBUTE, doc.ErrorID() ); // is an error to tinyxml (didn't use to be, but caused issues)
doc.PrintError();
}
@@ -651,7 +651,7 @@
const char* str = " ";
XMLDocument doc;
doc.Parse( str );
- XMLTest( "Empty document error", (int)XML_ERROR_EMPTY_DOCUMENT, doc.ErrorID() );
+ XMLTest( "Empty document error", XML_ERROR_EMPTY_DOCUMENT, doc.ErrorID() );
}
{
@@ -678,7 +678,7 @@
xml.Parse("<x> ");
XMLTest("Missing end tag with trailing whitespace", xml.Error(), true);
xml.Parse("<x></y>");
- XMLTest("Mismatched tags", xml.ErrorID(), (int)XML_ERROR_MISMATCHED_ELEMENT);
+ XMLTest("Mismatched tags", xml.ErrorID(), XML_ERROR_MISMATCHED_ELEMENT);
}