7#include "fpdfsdk/cpdfsdk_customaccess.h"
9#include "core/fxcrt/fx_safe_types.h"
10#include "core/fxcrt/numerics/safe_conversions.h"
12CPDFSDK_CustomAccess::CPDFSDK_CustomAccess(FPDF_FILEACCESS* pFileAccess)
13 : m_FileAccess(*pFileAccess) {}
18 return m_FileAccess.m_FileLen;
23 if (buffer.empty() || offset < 0)
32 return new_pos.IsValid() && new_pos.ValueOrDie() <=
GetSize() &&
33 m_FileAccess.m_GetBlock(
34 m_FileAccess.m_Param,
pdfium::checked_cast<
unsigned long>(offset),
35 buffer.data(),
pdfium::checked_cast<
unsigned long>(buffer.size()));
bool ReadBlockAtOffset(pdfium::span< uint8_t > buffer, FX_FILESIZE offset) override
FX_FILESIZE GetSize() override
~CPDFSDK_CustomAccess() override
pdfium::CheckedNumeric< FX_FILESIZE > FX_SAFE_FILESIZE