summaryrefslogtreecommitdiff
path: root/xfa/fgas/xml/fgas_sax.h
diff options
context:
space:
mode:
authordsinclair <dsinclair@chromium.org>2016-05-19 18:13:53 -0700
committerCommit bot <commit-bot@chromium.org>2016-05-19 18:13:53 -0700
commit6c93df843774354fb7c34cb887583b5312c04415 (patch)
tree8bdc4057f4cf8b311aac73fbc72400c46aed06c4 /xfa/fgas/xml/fgas_sax.h
parentfc2cdf8657534467fd807e216d50650b0e959868 (diff)
downloadpdfium-6c93df843774354fb7c34cb887583b5312c04415.tar.xz
Move fgas_sax into individual files in fde.
This CL moves the fgas Sax parser into the fde/xml directory. This places the parse with the other XML parser in the system. Review-Url: https://codereview.chromium.org/1990003002
Diffstat (limited to 'xfa/fgas/xml/fgas_sax.h')
-rw-r--r--xfa/fgas/xml/fgas_sax.h162
1 files changed, 0 insertions, 162 deletions
diff --git a/xfa/fgas/xml/fgas_sax.h b/xfa/fgas/xml/fgas_sax.h
deleted file mode 100644
index 92440c3b59..0000000000
--- a/xfa/fgas/xml/fgas_sax.h
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef XFA_FGAS_XML_FGAS_SAX_H_
-#define XFA_FGAS_XML_FGAS_SAX_H_
-
-#include "core/fxcrt/include/fx_basic.h"
-
-#define FX_SAXPARSEMODE_NotConvert_amp 0x0001
-#define FX_SAXPARSEMODE_NotConvert_lt 0x0002
-#define FX_SAXPARSEMODE_NotConvert_gt 0x0004
-#define FX_SAXPARSEMODE_NotConvert_apos 0x0008
-#define FX_SAXPARSEMODE_NotConvert_quot 0x0010
-#define FX_SAXPARSEMODE_NotConvert_sharp 0x0020
-#define FX_SAXPARSEMODE_NotSkipSpace 0x0100
-
-enum FX_SAXNODE {
- FX_SAXNODE_Unknown = 0,
- FX_SAXNODE_Instruction,
- FX_SAXNODE_Declaration,
- FX_SAXNODE_Comment,
- FX_SAXNODE_Tag,
- FX_SAXNODE_Text,
- FX_SAXNODE_CharData,
-};
-
-enum FX_SAXMODE {
- FX_SAXMODE_Text = 0,
- FX_SAXMODE_NodeStart,
- FX_SAXMODE_DeclOrComment,
- FX_SAXMODE_DeclNode,
- FX_SAXMODE_Comment,
- FX_SAXMODE_CommentContent,
- FX_SAXMODE_TagName,
- FX_SAXMODE_TagAttributeName,
- FX_SAXMODE_TagAttributeEqual,
- FX_SAXMODE_TagAttributeValue,
- FX_SAXMODE_TagMaybeClose,
- FX_SAXMODE_TagClose,
- FX_SAXMODE_TagEnd,
- FX_SAXMODE_TargetData,
- FX_SAXMODE_MAX,
-};
-
-class CXFA_SAXReaderHandler;
-
-class CFX_SAXFile {
- public:
- CFX_SAXFile();
- FX_BOOL StartFile(IFX_FileRead* pFile, uint32_t dwStart, uint32_t dwLen);
- FX_BOOL ReadNextBlock();
- void Reset();
- IFX_FileRead* m_pFile;
- uint32_t m_dwStart;
- uint32_t m_dwEnd;
- uint32_t m_dwCur;
- uint8_t* m_pBuf;
- uint32_t m_dwBufSize;
- uint32_t m_dwBufIndex;
-};
-
-class CFX_SAXItem {
- public:
- CFX_SAXItem()
- : m_pNode(NULL),
- m_eNode(FX_SAXNODE_Unknown),
- m_dwID(0),
- m_bSkip(FALSE),
- m_pPrev(NULL),
- m_pNext(NULL) {}
- void* m_pNode;
- FX_SAXNODE m_eNode;
- uint32_t m_dwID;
- FX_BOOL m_bSkip;
- CFX_SAXItem* m_pPrev;
- CFX_SAXItem* m_pNext;
-};
-
-class CFX_SAXCommentContext {
- public:
- CFX_SAXCommentContext() : m_iHeaderCount(0), m_iTailCount(0) {}
- int32_t m_iHeaderCount;
- int32_t m_iTailCount;
-};
-
-class CFX_SAXReader {
- public:
- CFX_SAXReader();
- ~CFX_SAXReader();
-
- int32_t StartParse(IFX_FileRead* pFile,
- uint32_t dwStart = 0,
- uint32_t dwLen = -1,
- uint32_t dwParseMode = 0);
- int32_t ContinueParse(IFX_Pause* pPause = NULL);
- void SkipCurrentNode();
- void SetHandler(CXFA_SAXReaderHandler* pHandler);
- void AppendData(uint8_t ch);
- void AppendName(uint8_t ch);
- void ParseText();
- void ParseNodeStart();
- void ParseInstruction();
- void ParseDeclOrComment();
- void ParseDeclNode();
- void ParseComment();
- void ParseCommentContent();
- void ParseTagName();
- void ParseTagAttributeName();
- void ParseTagAttributeEqual();
- void ParseTagAttributeValue();
- void ParseMaybeClose();
- void ParseTagClose();
- void ParseTagEnd();
- void ParseTargetData();
-
- protected:
- void Reset();
- void Push();
- void Pop();
- FX_BOOL SkipSpace(uint8_t ch);
- void SkipNode();
- void NotifyData();
- void NotifyEnter();
- void NotifyAttribute();
- void NotifyBreak();
- void NotifyClose();
- void NotifyEnd();
- void NotifyTargetData();
- void ReallocDataBuffer();
- void ReallocNameBuffer();
- void ParseChar(uint8_t ch);
-
- CFX_SAXFile m_File;
- CXFA_SAXReaderHandler* m_pHandler;
- int32_t m_iState;
- CFX_SAXItem* m_pRoot;
- CFX_SAXItem* m_pCurItem;
- uint32_t m_dwItemID;
- FX_SAXMODE m_eMode;
- FX_SAXMODE m_ePrevMode;
- FX_BOOL m_bCharData;
- uint8_t m_CurByte;
- uint32_t m_dwDataOffset;
- CFX_ByteArray m_SkipStack;
- uint8_t m_SkipChar;
- uint32_t m_dwNodePos;
- uint8_t* m_pszData;
- int32_t m_iDataSize;
- int32_t m_iDataLength;
- int32_t m_iEntityStart;
- int32_t m_iDataPos;
- uint8_t* m_pszName;
- int32_t m_iNameSize;
- int32_t m_iNameLength;
- uint32_t m_dwParseMode;
- CFX_SAXCommentContext* m_pCommentContext;
-};
-
-#endif // XFA_FGAS_XML_FGAS_SAX_H_