summaryrefslogtreecommitdiffstats
path: root/skia/include/SkXMLParser.h
diff options
context:
space:
mode:
Diffstat (limited to 'skia/include/SkXMLParser.h')
-rw-r--r--skia/include/SkXMLParser.h161
1 files changed, 0 insertions, 161 deletions
diff --git a/skia/include/SkXMLParser.h b/skia/include/SkXMLParser.h
deleted file mode 100644
index ddad273..0000000
--- a/skia/include/SkXMLParser.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SkXMLParser_DEFINED
-#define SkXMLParser_DEFINED
-
-#include "SkMath.h"
-#include "SkString.h"
-
-class SkStream;
-
-class SkDOM;
-struct SkDOMNode;
-
-class SkXMLParserError {
-public:
- enum ErrorCode {
- kNoError,
- kEmptyFile,
- kUnknownElement,
- kUnknownAttributeName,
- kErrorInAttributeValue,
- kDuplicateIDs,
- kUnknownError
- };
-
- SkXMLParserError();
- virtual ~SkXMLParserError();
- ErrorCode getErrorCode() const { return fCode; }
- virtual void getErrorString(SkString* str) const;
- int getLineNumber() const { return fLineNumber; }
- int getNativeCode() const { return fNativeCode; }
- bool hasError() const { return fCode != kNoError || fNativeCode != -1; }
- bool hasNoun() const { return fNoun.size() > 0; }
- void reset();
- void setCode(ErrorCode code) { fCode = code; }
- void setNoun(const SkString& str) { fNoun.set(str); }
- void setNoun(const char* ch) { fNoun.set(ch); }
- void setNoun(const char* ch, size_t len) { fNoun.set(ch, len); }
-protected:
- ErrorCode fCode;
-private:
- int fLineNumber;
- int fNativeCode;
- SkString fNoun;
- friend class SkXMLParser;
-};
-
-class SkXMLParser {
-public:
- SkXMLParser(SkXMLParserError* parserError = NULL);
- virtual ~SkXMLParser();
-
- /** Returns true for success
- */
- bool parse(const char doc[], size_t len);
- bool parse(SkStream& docStream);
- bool parse(const SkDOM&, const SkDOMNode*);
-
- static void GetNativeErrorString(int nativeErrorCode, SkString* str);
-
-protected:
- // override in subclasses; return true to stop parsing
- virtual bool onStartElement(const char elem[]);
- virtual bool onAddAttribute(const char name[], const char value[]);
- virtual bool onEndElement(const char elem[]);
- virtual bool onText(const char text[], int len);
-
-public:
- // public for ported implementation, not meant for clients to call
- virtual bool startElement(const char elem[]);
- virtual bool addAttribute(const char name[], const char value[]);
- virtual bool endElement(const char elem[]);
- virtual bool text(const char text[], int len);
- void* fParser;
-protected:
- SkXMLParserError* fError;
-private:
- void reportError(void* parser);
-};
-
-class SkXMLPullParser {
-public:
- SkXMLPullParser();
- explicit SkXMLPullParser(SkStream*);
- virtual ~SkXMLPullParser();
-
- SkStream* getStream() const { return fStream; }
- SkStream* setStream(SkStream* stream);
-
- enum EventType {
- ERROR = -1,
- START_DOCUMENT,
- END_DOCUMENT,
- START_TAG,
- END_TAG,
- TEXT,
- CDSECT,
- ENTITY_REF,
- IGNORABLE_WHITESPACE,
- PROCESSING_INSTRUCTION,
- COMMENT,
- DOCDECL
- };
-
- EventType nextToken();
- EventType getEventType() const { return fCurr.fEventType; }
-
- struct AttrInfo {
- const char* fName;
- const char* fValue;
- };
-
- int getDepth() const { return fDepth; }
- const char* getName();
- int getAttributeCount();
- void getAttributeInfo(int, AttrInfo*);
- const char* getText();
- bool isWhitespace();
-
-protected:
- virtual bool onEntityReplacement(const char name[],
- SkString* replacement);
-
-public:
- struct Curr {
- EventType fEventType;
- const char* fName;
- AttrInfo* fAttrInfos;
- int fAttrInfoCount;
- bool fIsWhitespace;
- };
-
-private:
- // implemented in the porting layer
- bool onInit(); // return false on failure
- EventType onNextToken();
- void onExit();
-
- SkStream* fStream;
- Curr fCurr;
- int fDepth;
-
- struct Impl;
- Impl* fImpl;
-};
-
-#endif