From 908c848202ef137e98d96f82a4eadfae551403b7 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Thu, 30 Mar 2017 14:33:28 -0400 Subject: Move core/fxcrt XML files to core/fxcrt/xml This CL moves the other XML files contained in core/fxcrt into the core/fxcrt/xml directory to contain all the fxcrt XML files in one place. Change-Id: I9faefb1f311bf167b75dfbb7b9b52f25515e3c31 Reviewed-on: https://pdfium-review.googlesource.com/3378 Reviewed-by: Tom Sepez Commit-Queue: dsinclair --- core/fxcrt/xml/cxml_parser.h | 55 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 core/fxcrt/xml/cxml_parser.h (limited to 'core/fxcrt/xml/cxml_parser.h') diff --git a/core/fxcrt/xml/cxml_parser.h b/core/fxcrt/xml/cxml_parser.h new file mode 100644 index 0000000000..37f14e9834 --- /dev/null +++ b/core/fxcrt/xml/cxml_parser.h @@ -0,0 +1,55 @@ +// 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 CORE_FXCRT_XML_CXML_PARSER_H_ +#define CORE_FXCRT_XML_CXML_PARSER_H_ + +#include +#include + +#include "core/fxcrt/fx_stream.h" + +class CFX_UTF8Decoder; +class CXML_Element; + +class CXML_Parser { + public: + CXML_Parser(); + ~CXML_Parser(); + + bool Init(const uint8_t* pBuffer, size_t size); + bool ReadNextBlock(); + bool IsEOF(); + bool HaveAvailData(); + void SkipWhiteSpaces(); + void GetName(CFX_ByteString* space, CFX_ByteString* name); + void GetAttrValue(CFX_WideString& value); + uint32_t GetCharRef(); + void GetTagName(bool bStartTag, + bool* bEndTag, + CFX_ByteString* space, + CFX_ByteString* name); + void SkipLiterals(const CFX_ByteStringC& str); + std::unique_ptr ParseElement(CXML_Element* pParent, + bool bStartTag); + void InsertContentSegment(bool bCDATA, + const CFX_WideStringC& content, + CXML_Element* pElement); + void InsertCDATASegment(CFX_UTF8Decoder& decoder, CXML_Element* pElement); + + CFX_RetainPtr m_pDataAcc; + FX_FILESIZE m_nOffset; + const uint8_t* m_pBuffer; + size_t m_dwBufferSize; + FX_FILESIZE m_nBufferOffset; + size_t m_dwIndex; +}; + +void FX_XML_SplitQualifiedName(const CFX_ByteStringC& bsFullName, + CFX_ByteStringC& bsSpace, + CFX_ByteStringC& bsName); + +#endif // CORE_FXCRT_XML_CXML_PARSER_H_ -- cgit v1.2.3