#include "include/core/SkStream.h"
#include "include/core/SkString.h"
#include "include/core/SkTypes.h"
#include "include/private/base/SkTemplates.h"
#include "include/private/base/SkTo.h"
#include "src/xml/SkXMLParser.h"
#include <expat.h>
#include <vector>
static char const* const gErrorStrings[] = …;
SkXMLParserError::SkXMLParserError() : … { … }
SkXMLParserError::~SkXMLParserError()
{ … }
void SkXMLParserError::getErrorString(SkString* str) const
{ … }
void SkXMLParserError::reset() { … }
namespace {
constexpr const void* kHashSeed = …;
const XML_Memory_Handling_Suite sk_XML_alloc = …;
struct ParsingContext { … };
#define HANDLER_CONTEXT(arg, name) …
void XMLCALL start_element_handler(void *data, const char* tag, const char** attributes) { … }
void XMLCALL end_element_handler(void* data, const char* tag) { … }
void XMLCALL text_handler(void *data, const char* txt, int len) { … }
void XMLCALL entity_decl_handler(void *data,
const XML_Char *entityName,
int is_parameter_entity,
const XML_Char *value,
int value_length,
const XML_Char *base,
const XML_Char *systemId,
const XML_Char *publicId,
const XML_Char *notationName) { … }
}
SkXMLParser::SkXMLParser(SkXMLParserError* parserError) : … { … }
SkXMLParser::~SkXMLParser()
{ … }
bool SkXMLParser::parse(SkStream& docStream)
{ … }
bool SkXMLParser::parse(const char doc[], size_t len)
{ … }
void SkXMLParser::GetNativeErrorString(int error, SkString* str)
{ … }
bool SkXMLParser::startElement(const char elem[])
{ … }
bool SkXMLParser::addAttribute(const char name[], const char value[])
{ … }
bool SkXMLParser::endElement(const char elem[])
{ … }
bool SkXMLParser::text(const char text[], int len)
{ … }
bool SkXMLParser::onStartElement(const char elem[]) { … }
bool SkXMLParser::onAddAttribute(const char name[], const char value[]) { … }
bool SkXMLParser::onEndElement(const char elem[]) { … }
bool SkXMLParser::onText(const char text[], int len) { … }