Browse Source

type XMLError. fix some comments

Lee Thomason 13 years ago
parent
commit
2fa8172236
3 changed files with 67 additions and 58 deletions
  1. 17 17
      tinyxml2.cpp
  2. 46 37
      tinyxml2.h
  3. 4 4
      xmltest.cpp

+ 17 - 17
tinyxml2.cpp

@@ -1072,7 +1072,7 @@ void XMLAttribute::SetName( const char* n )
 }
 
 
-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::QueryIntValue( int* value ) const
 }
 
 
-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::QueryUnsignedValue( unsigned int* value ) const
 }
 
 
-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::QueryBoolValue( bool* value ) const
 }
 
 
-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::QueryFloatValue( float* value ) const
 }
 
 
-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 @@ const char* XMLElement::GetText() const
 }
 
 
-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::QueryIntText( int* _value ) const
 }
 
 
-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::QueryUnsignedText( unsigned* _value ) const
 }
 
 
-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::QueryBoolText( bool* _value ) const
 }
 
 
-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::QueryDoubleText( double* _value ) const
 }
 
 
-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 @@ XMLDocument::XMLDocument( bool processEntities, Whitespace whitespace ) :
     XMLNode( 0 ),
     _writeBOM( false ),
     _processEntities( processEntities ),
-    _errorID( 0 ),
+    _errorID( XML_NO_ERROR ),
     _whitespace( whitespace ),
     _errorStr1( 0 ),
     _errorStr2( 0 ),
@@ -1569,7 +1569,7 @@ XMLUnknown* XMLDocument::NewUnknown( const char* str )
 }
 
 
-int XMLDocument::LoadFile( const char* filename )
+XMLError XMLDocument::LoadFile( const char* filename )
 {
     DeleteChildren();
     InitDocument();
@@ -1591,7 +1591,7 @@ int XMLDocument::LoadFile( const char* filename )
 }
 
 
-int XMLDocument::LoadFile( FILE* fp )
+XMLError XMLDocument::LoadFile( FILE* fp )
 {
     DeleteChildren();
     InitDocument();
@@ -1626,7 +1626,7 @@ int XMLDocument::LoadFile( FILE* fp )
 }
 
 
-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( const char* filename, bool compact )
 }
 
 
-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::SaveFile( FILE* fp, bool compact )
 }
 
 
-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::Print( XMLPrinter* streamer )
 }
 
 
-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;

+ 46 - 37
tinyxml2.h

@@ -541,23 +541,29 @@ public:
         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 @@ protected:
 };
 
 
-enum {
+enum XMLError {
     XML_NO_ERROR = 0,
     XML_SUCCESS = 0,
 
@@ -958,14 +964,17 @@ class XMLAttribute
 {
     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 @@ public:
     	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 @@ public:
     	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 @@ public:
         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 @@ public:
         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 @@ public:
         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 @@ public:
         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 @@ public:
     			 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 @@ public:
     	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 @@ public:
     	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 @@ public:
     	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 @@ public:
         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 @@ private:
     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;

+ 4 - 4
xmltest.cpp

@@ -334,7 +334,7 @@ int main( int /*argc*/, const char ** /*argv*/ )
 
 		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 @@ int main( int /*argc*/, const char ** /*argv*/ )
 		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 @@ int main( int /*argc*/, const char ** /*argv*/ )
 		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 @@ int main( int /*argc*/, const char ** /*argv*/ )
 		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);
 	}