Merge to XFA: Remove FX_BSTR and FX_WSTR typedefs.
[pdfium.git] / core / src / fxcrt / xml_int.h
index 0973789..9469a75 100644 (file)
@@ -1,17 +1,17 @@
 // 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 _FXCRT_XML_INT_
-#define _FXCRT_XML_INT_
-class CXML_DataBufAcc : public IFX_BufferRead, public CFX_Object
+#ifndef CORE_SRC_FXCRT_XML_INT_H_
+#define CORE_SRC_FXCRT_XML_INT_H_
+
+class CXML_DataBufAcc : public IFX_BufferRead
 {
 public:
-    CXML_DataBufAcc(FX_LPCBYTE pBuffer, size_t size, IFX_Allocator* pAllocator = NULL)
-        : m_pAllocator(pAllocator)
-        , m_pBuffer(pBuffer)
+    CXML_DataBufAcc(const uint8_t* pBuffer, size_t size)
+        : m_pBuffer(pBuffer)
         , m_dwSize(size)
         , m_dwCurPos(0)
     {
@@ -19,11 +19,7 @@ public:
     virtual ~CXML_DataBufAcc() {}
     virtual void                       Release()
     {
-        if (m_pAllocator) {
-            FX_DeleteAtAllocator(this, m_pAllocator, CXML_DataBufAcc);
-        } else {
-            delete this;
-        }
+        delete this;
     }
     virtual FX_BOOL                    IsEOF()
     {
@@ -48,7 +44,7 @@ public:
         }
         return FALSE;
     }
-    virtual FX_LPCBYTE         GetBlockBuffer()
+    virtual const uint8_t*             GetBlockBuffer()
     {
         return m_pBuffer;
     }
@@ -61,18 +57,16 @@ public:
         return 0;
     }
 protected:
-    IFX_Allocator*     m_pAllocator;
-    FX_LPCBYTE         m_pBuffer;
+    const uint8_t*             m_pBuffer;
     size_t                     m_dwSize;
     size_t                     m_dwCurPos;
 };
 #define FX_XMLDATASTREAM_BufferSize            (32 * 1024)
-class CXML_DataStmAcc : public IFX_BufferRead, public CFX_Object
+class CXML_DataStmAcc : public IFX_BufferRead
 {
 public:
-    CXML_DataStmAcc(IFX_FileRead *pFileRead, IFX_Allocator* pAllocator = NULL)
-        : m_pAllocator(pAllocator)
-        , m_pFileRead(pFileRead)
+    CXML_DataStmAcc(IFX_FileRead *pFileRead)
+        : m_pFileRead(pFileRead)
         , m_pBuffer(NULL)
         , m_nStart(0)
         , m_dwSize(0)
@@ -82,16 +76,12 @@ public:
     virtual ~CXML_DataStmAcc()
     {
         if (m_pBuffer) {
-            FX_Allocator_Free(m_pAllocator, m_pBuffer);
+            FX_Free(m_pBuffer);
         }
     }
     virtual void                       Release()
     {
-        if (m_pAllocator) {
-            FX_DeleteAtAllocator(this, m_pAllocator, CXML_DataStmAcc);
-        } else {
-            delete this;
-        }
+        delete this;
     }
     virtual FX_BOOL                    IsEOF()
     {
@@ -117,16 +107,13 @@ public:
         }
         m_dwSize = (size_t)FX_MIN(FX_XMLDATASTREAM_BufferSize, nLength - m_nStart);
         if (!m_pBuffer) {
-            m_pBuffer = FX_Allocator_Alloc(m_pAllocator, FX_BYTE, m_dwSize);
-            if (!m_pBuffer) {
-                return FALSE;
-            }
+            m_pBuffer = FX_Alloc(uint8_t, m_dwSize);
         }
         return m_pFileRead->ReadBlock(m_pBuffer, m_nStart, m_dwSize);
     }
-    virtual FX_LPCBYTE         GetBlockBuffer()
+    virtual const uint8_t*             GetBlockBuffer()
     {
-        return (FX_LPCBYTE)m_pBuffer;
+        return (const uint8_t*)m_pBuffer;
     }
     virtual size_t                     GetBlockSize()
     {
@@ -137,27 +124,24 @@ public:
         return m_nStart;
     }
 protected:
-    IFX_Allocator*     m_pAllocator;
     IFX_FileRead       *m_pFileRead;
-    FX_LPBYTE          m_pBuffer;
+    uint8_t*           m_pBuffer;
     FX_FILESIZE                m_nStart;
     size_t                     m_dwSize;
 };
 class CXML_Parser
 {
 public:
-    CXML_Parser(IFX_Allocator* pAllocator = NULL) : m_pAllocator(pAllocator) {}
     ~CXML_Parser();
-    IFX_Allocator*     m_pAllocator;
     IFX_BufferRead*    m_pDataAcc;
     FX_BOOL                    m_bOwnedStream;
     FX_FILESIZE                m_nOffset;
     FX_BOOL                    m_bSaveSpaceChars;
-    FX_LPCBYTE         m_pBuffer;
+    const uint8_t*             m_pBuffer;
     size_t                     m_dwBufferSize;
     FX_FILESIZE                m_nBufferOffset;
     size_t                     m_dwIndex;
-    FX_BOOL                    Init(FX_LPBYTE pBuffer, size_t size);
+    FX_BOOL                    Init(uint8_t* pBuffer, size_t size);
     FX_BOOL                    Init(IFX_FileRead *pFileRead);
     FX_BOOL                    Init(IFX_BufferRead *pBuffer);
     FX_BOOL                    Init(FX_BOOL bOwndedStream);
@@ -165,14 +149,15 @@ public:
     FX_BOOL                    IsEOF();
     FX_BOOL                    HaveAvailData();
     void                       SkipWhiteSpaces();
-    void                       GetName(CFX_ByteStringL &space, CFX_ByteStringL &name);
-    void                       GetAttrValue(CFX_WideStringL &value);
+    void                       GetName(CFX_ByteString& space, CFX_ByteString& name);
+    void                       GetAttrValue(CFX_WideString &value);
     FX_DWORD           GetCharRef();
-    void                       GetTagName(CFX_ByteStringL &space, CFX_ByteStringL &name, FX_BOOL &bEndTag, FX_BOOL bStartTag = FALSE);
-    void                       SkipLiterals(FX_BSTR str);
+    void                       GetTagName(CFX_ByteString &space, CFX_ByteString &name, FX_BOOL &bEndTag, FX_BOOL bStartTag = FALSE);
+    void                       SkipLiterals(const CFX_ByteStringC& str);
     CXML_Element*      ParseElement(CXML_Element* pParent, FX_BOOL bStartTag = FALSE);
-    void                       InsertContentSegment(FX_BOOL bCDATA, FX_WSTR content, CXML_Element* pElement);
+    void                       InsertContentSegment(FX_BOOL bCDATA, const CFX_WideStringC& content, CXML_Element* pElement);
     void                       InsertCDATASegment(CFX_UTF8Decoder& decoder, CXML_Element* pElement);
 };
-void FX_XML_SplitQualifiedName(FX_BSTR bsFullName, CFX_ByteStringC &bsSpace, CFX_ByteStringC &bsName);
-#endif
+void FX_XML_SplitQualifiedName(const CFX_ByteStringC& bsFullName, CFX_ByteStringC &bsSpace, CFX_ByteStringC &bsName);
+
+#endif  // CORE_SRC_FXCRT_XML_INT_H_