diff -r 000000000000 -r 6474c204b198 gfx/skia/trunk/src/xml/SkXMLParser.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/skia/trunk/src/xml/SkXMLParser.cpp Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,87 @@ + +/* + * Copyright 2006 The Android Open Source Project + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + + +#include "SkXMLParser.h" + +static char const* const gErrorStrings[] = { + "empty or missing file ", + "unknown element ", + "unknown attribute name ", + "error in attribute value ", + "duplicate ID ", + "unknown error " +}; + +SkXMLParserError::SkXMLParserError() : fCode(kNoError), fLineNumber(-1), + fNativeCode(-1) +{ + reset(); +} + +SkXMLParserError::~SkXMLParserError() +{ + // need a virtual destructor for our subclasses +} + +void SkXMLParserError::getErrorString(SkString* str) const +{ + SkASSERT(str); + SkString temp; + if (fCode != kNoError) { + if ((unsigned)fCode < SK_ARRAY_COUNT(gErrorStrings)) + temp.set(gErrorStrings[fCode - 1]); + temp.append(fNoun); + } else + SkXMLParser::GetNativeErrorString(fNativeCode, &temp); + str->append(temp); +} + +void SkXMLParserError::reset() { + fCode = kNoError; + fLineNumber = -1; + fNativeCode = -1; +} + + +//////////////// + +SkXMLParser::SkXMLParser(SkXMLParserError* parserError) : fParser(NULL), fError(parserError) +{ +} + +SkXMLParser::~SkXMLParser() +{ +} + +bool SkXMLParser::startElement(const char elem[]) +{ + return this->onStartElement(elem); +} + +bool SkXMLParser::addAttribute(const char name[], const char value[]) +{ + return this->onAddAttribute(name, value); +} + +bool SkXMLParser::endElement(const char elem[]) +{ + return this->onEndElement(elem); +} + +bool SkXMLParser::text(const char text[], int len) +{ + return this->onText(text, len); +} + +//////////////////////////////////////////////////////////////////////////////// + +bool SkXMLParser::onStartElement(const char elem[]) {return false; } +bool SkXMLParser::onAddAttribute(const char name[], const char value[]) {return false; } +bool SkXMLParser::onEndElement(const char elem[]) { return false; } +bool SkXMLParser::onText(const char text[], int len) {return false; }