#include "core/fpdfapi/parser/cpdf_stream.h"
#include <stdint.h>
#include <sstream>
#include <utility>
#include "constants/stream_dict_common.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "core/fpdfapi/parser/cpdf_encryptor.h"
#include "core/fpdfapi/parser/cpdf_flateencoder.h"
#include "core/fpdfapi/parser/cpdf_number.h"
#include "core/fpdfapi/parser/cpdf_stream_acc.h"
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
#include "core/fpdfapi/parser/fpdf_parser_utility.h"
#include "core/fxcrt/cfx_memorystream.h"
#include "core/fxcrt/check.h"
#include "core/fxcrt/containers/contains.h"
#include "core/fxcrt/data_vector.h"
#include "core/fxcrt/fx_stream.h"
#include "core/fxcrt/numerics/safe_conversions.h"
#include "core/fxcrt/span_util.h"
namespace {
bool IsMetaDataStreamDictionary(const CPDF_Dictionary* dict) { … }
}
CPDF_Stream::CPDF_Stream(RetainPtr<CPDF_Dictionary> dict)
: … { … }
CPDF_Stream::CPDF_Stream(pdfium::span<const uint8_t> span)
: … { … }
CPDF_Stream::CPDF_Stream(fxcrt::ostringstream* stream)
: … { … }
CPDF_Stream::CPDF_Stream(RetainPtr<IFX_SeekableReadStream> file,
RetainPtr<CPDF_Dictionary> dict)
: … { … }
CPDF_Stream::CPDF_Stream(DataVector<uint8_t> data,
RetainPtr<CPDF_Dictionary> dict)
: … { … }
CPDF_Stream::~CPDF_Stream() { … }
CPDF_Object::Type CPDF_Stream::GetType() const { … }
const CPDF_Dictionary* CPDF_Stream::GetDictInternal() const { … }
CPDF_Stream* CPDF_Stream::AsMutableStream() { … }
void CPDF_Stream::InitStreamFromFile(RetainPtr<IFX_SeekableReadStream> file) { … }
RetainPtr<CPDF_Object> CPDF_Stream::Clone() const { … }
RetainPtr<CPDF_Object> CPDF_Stream::CloneNonCyclic(
bool bDirect,
std::set<const CPDF_Object*>* pVisited) const { … }
void CPDF_Stream::SetDataAndRemoveFilter(pdfium::span<const uint8_t> pData) { … }
void CPDF_Stream::SetDataFromStringstreamAndRemoveFilter(
fxcrt::ostringstream* stream) { … }
void CPDF_Stream::SetData(pdfium::span<const uint8_t> pData) { … }
void CPDF_Stream::TakeData(DataVector<uint8_t> data) { … }
void CPDF_Stream::SetDataFromStringstream(fxcrt::ostringstream* stream) { … }
DataVector<uint8_t> CPDF_Stream::ReadAllRawData() const { … }
bool CPDF_Stream::HasFilter() const { … }
WideString CPDF_Stream::GetUnicodeText() const { … }
bool CPDF_Stream::WriteTo(IFX_ArchiveStream* archive,
const CPDF_Encryptor* encryptor) const { … }
size_t CPDF_Stream::GetRawSize() const { … }
pdfium::span<const uint8_t> CPDF_Stream::GetInMemoryRawData() const { … }
void CPDF_Stream::SetLengthInDict(int length) { … }