diff options
author | Ryan Harrison <rharrison@chromium.org> | 2017-11-14 16:05:53 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-11-14 16:05:53 +0000 |
commit | ccf206a7731e0df773a4c5941736953446ec4d9d (patch) | |
tree | 1d7335125899d0e614b2afa05cfcfad90f74a596 /xfa/fxfa/cxfa_fileread.cpp | |
parent | f2d490650cef611f92e5d4a112c90647f08f054e (diff) | |
download | pdfium-ccf206a7731e0df773a4c5941736953446ec4d9d.tar.xz |
Move CXFA_FileRead out of XFA and rename
This code doesn't depend on XFA, but is only used by it. Moving it
out, so it will be easier for me to write some tools for extracting
data out of PDFs.
Bug:
Change-Id: Ic18613b46abed5124c47f539833b01b12c1c6e56
Reviewed-on: https://pdfium-review.googlesource.com/18410
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Diffstat (limited to 'xfa/fxfa/cxfa_fileread.cpp')
-rw-r--r-- | xfa/fxfa/cxfa_fileread.cpp | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/xfa/fxfa/cxfa_fileread.cpp b/xfa/fxfa/cxfa_fileread.cpp deleted file mode 100644 index 12e23646d1..0000000000 --- a/xfa/fxfa/cxfa_fileread.cpp +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2017 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 - -#include "xfa/fxfa/cxfa_fileread.h" - -#include <algorithm> - -#include "core/fpdfapi/parser/cpdf_stream_acc.h" -#include "third_party/base/logging.h" -#include "third_party/base/stl_util.h" - -CXFA_FileRead::CXFA_FileRead(const std::vector<CPDF_Stream*>& streams) { - for (CPDF_Stream* pStream : streams) { - m_Data.push_back(pdfium::MakeRetain<CPDF_StreamAcc>(pStream)); - m_Data.back()->LoadAllData(); - } -} - -CXFA_FileRead::~CXFA_FileRead() {} - -FX_FILESIZE CXFA_FileRead::GetSize() { - uint32_t dwSize = 0; - for (const auto& acc : m_Data) - dwSize += acc->GetSize(); - return dwSize; -} - -bool CXFA_FileRead::ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) { - int32_t iCount = pdfium::CollectionSize<int32_t>(m_Data); - int32_t index = 0; - while (index < iCount) { - const auto& acc = m_Data[index]; - FX_FILESIZE dwSize = acc->GetSize(); - if (offset < dwSize) - break; - - offset -= dwSize; - index++; - } - while (index < iCount) { - const auto& acc = m_Data[index]; - uint32_t dwSize = acc->GetSize(); - size_t dwRead = std::min(size, static_cast<size_t>(dwSize - offset)); - memcpy(buffer, acc->GetData() + offset, dwRead); - size -= dwRead; - if (size == 0) - return true; - - buffer = static_cast<uint8_t*>(buffer) + dwRead; - offset = 0; - index++; - } - return false; -} - -size_t CXFA_FileRead::ReadBlock(void* buffer, size_t size) { - NOTREACHED(); - return 0; -} - -FX_FILESIZE CXFA_FileRead::GetPosition() { - return 0; -} - -bool CXFA_FileRead::IsEOF() { - return false; -} - -bool CXFA_FileRead::Flush() { - NOTREACHED(); - return false; -} - -bool CXFA_FileRead::WriteBlock(const void* pData, - FX_FILESIZE offset, - size_t size) { - NOTREACHED(); - return false; -} |