Home | History | Annotate | Download | only in xml
      1 // Copyright 2017 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 #ifndef CORE_FXCRT_XML_CXML_DATABUFACC_H_
      8 #define CORE_FXCRT_XML_CXML_DATABUFACC_H_
      9 
     10 #include "core/fxcrt/fx_system.h"
     11 
     12 class CXML_DataBufAcc {
     13  public:
     14   CXML_DataBufAcc(const uint8_t* pBuffer, size_t size);
     15   ~CXML_DataBufAcc();
     16 
     17   bool IsEOF() const { return m_dwCurPos >= m_dwSize; }
     18   FX_FILESIZE GetPosition() const {
     19     return static_cast<FX_FILESIZE>(m_dwCurPos);
     20   }
     21   bool ReadNextBlock();
     22   const uint8_t* GetBlockBuffer() const { return m_pBuffer; }
     23   size_t GetBlockSize() const { return m_dwSize; }
     24 
     25  private:
     26   const uint8_t* m_pBuffer;
     27   size_t m_dwSize;
     28   size_t m_dwCurPos;
     29 };
     30 
     31 #endif  // CORE_FXCRT_XML_CXML_DATABUFACC_H_
     32