Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
fx_stream.h
Go to the documentation of this file.
1
// Copyright 2014 The PDFium Authors
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_FX_STREAM_H_
8
#
define
CORE_FXCRT_FX_STREAM_H_
9
10
#
include
<
stddef
.
h
>
11
#
include
<
stdint
.
h
>
12
13
#
include
"core/fxcrt/bytestring.h"
14
#
include
"core/fxcrt/fx_types.h"
15
#
include
"core/fxcrt/retain_ptr.h"
16
#
include
"core/fxcrt/span.h"
17
18
class
IFX_WriteStream
{
19
public
:
20
// When `size` is 0, treat it as a no-op and return true.
21
virtual
bool
WriteBlock
(pdfium::span<
const
uint8_t> data) = 0;
22
23
bool
WriteString
(
ByteStringView
str);
24
bool
WriteByte
(uint8_t byte);
25
bool
WriteDWord
(uint32_t i);
26
bool
WriteFilesize
(
FX_FILESIZE
size);
27
28
protected
:
29
virtual
~
IFX_WriteStream
() =
default
;
30
};
31
32
class
IFX_ArchiveStream
:
public
IFX_WriteStream
{
33
public
:
34
virtual
FX_FILESIZE
CurrentOffset
()
const
= 0;
35
};
36
37
class
IFX_StreamWithSize
{
38
public
:
39
virtual
FX_FILESIZE
GetSize
() = 0;
40
};
41
42
class
IFX_RetainableWriteStream
:
virtual
public
Retainable
,
43
public
IFX_WriteStream
{};
44
45
class
IFX_SeekableWriteStream
:
virtual
public
IFX_StreamWithSize
,
46
public
IFX_RetainableWriteStream
{
47
public
:
48
virtual
bool
Flush
() = 0;
49
};
50
51
class
IFX_SeekableReadStream
:
virtual
public
Retainable
,
52
virtual
public
IFX_StreamWithSize
{
53
public
:
54
static
RetainPtr
<
IFX_SeekableReadStream
>
CreateFromFilename
(
55
const
char
* filename);
56
57
virtual
bool
IsEOF
();
58
virtual
FX_FILESIZE
GetPosition
();
59
[[nodiscard]]
virtual
bool
ReadBlockAtOffset
(pdfium::span<uint8_t> buffer,
60
FX_FILESIZE
offset) = 0;
61
};
62
63
class
IFX_SeekableStream
:
public
IFX_SeekableReadStream
,
64
public
IFX_SeekableWriteStream
{
65
};
66
67
#
endif
// CORE_FXCRT_FX_STREAM_H_
ByteString
fxcrt::ByteString ByteString
Definition
bytestring.h:180
DCHECK
#define DCHECK
Definition
check.h:33
CPDF_Array::const_iterator
std::vector< RetainPtr< CPDF_Object > >::const_iterator const_iterator
Definition
cpdf_array.h:29
CPDF_Creator
Definition
cpdf_creator.h:29
CPDF_Creator::CPDF_Creator
CPDF_Creator(CPDF_Document *pDoc, RetainPtr< IFX_RetainableWriteStream > archive)
Definition
cpdf_creator.cpp:120
CPDF_Creator::SetFileVersion
bool SetFileVersion(int32_t fileVersion)
Definition
cpdf_creator.cpp:636
CPDF_Creator::~CPDF_Creator
~CPDF_Creator()
CPDF_Creator::RemoveSecurity
void RemoveSecurity()
Definition
cpdf_creator.cpp:643
CPDF_Creator::Create
bool Create(uint32_t flags)
Definition
cpdf_creator.cpp:550
CPDF_CryptoHandler
Definition
cpdf_crypto_handler.h:27
CPDF_DictionaryLocker
Definition
cpdf_dictionary.h:157
CPDF_Dictionary::DictMap
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
Definition
cpdf_dictionary.h:31
CPDF_Document
Definition
cpdf_document.h:29
CPDF_Encryptor
Definition
cpdf_encryptor.h:18
CPDF_Object
Definition
cpdf_object.h:50
CPDF_Object::WriteTo
virtual bool WriteTo(IFX_ArchiveStream *archive, const CPDF_Encryptor *encryptor) const =0
CPDF_Parser
Definition
cpdf_parser.h:37
IFX_ArchiveStream
Definition
fx_stream.h:32
IFX_ArchiveStream::CurrentOffset
virtual FX_FILESIZE CurrentOffset() const =0
IFX_RetainableWriteStream
Definition
fx_stream.h:43
IFX_SeekableReadStream
Definition
fx_stream.h:52
IFX_SeekableReadStream::CreateFromFilename
static RetainPtr< IFX_SeekableReadStream > CreateFromFilename(const char *filename)
Definition
fx_stream.cpp:68
IFX_SeekableReadStream::GetPosition
virtual FX_FILESIZE GetPosition()
Definition
fx_stream.cpp:80
IFX_SeekableReadStream::ReadBlockAtOffset
virtual bool ReadBlockAtOffset(pdfium::span< uint8_t > buffer, FX_FILESIZE offset)=0
IFX_SeekableReadStream::IsEOF
virtual bool IsEOF()
Definition
fx_stream.cpp:76
IFX_SeekableStream
Definition
fx_stream.h:64
IFX_SeekableWriteStream
Definition
fx_stream.h:46
IFX_SeekableWriteStream::Flush
virtual bool Flush()=0
IFX_StreamWithSize
Definition
fx_stream.h:37
IFX_StreamWithSize::GetSize
virtual FX_FILESIZE GetSize()=0
IFX_WriteStream
Definition
fx_stream.h:18
IFX_WriteStream::WriteFilesize
bool WriteFilesize(FX_FILESIZE size)
Definition
fx_stream.cpp:61
IFX_WriteStream::WriteByte
bool WriteByte(uint8_t byte)
Definition
fx_stream.cpp:50
IFX_WriteStream::WriteString
bool WriteString(ByteStringView str)
Definition
fx_stream.cpp:46
IFX_WriteStream::~IFX_WriteStream
virtual ~IFX_WriteStream()=default
IFX_WriteStream::WriteDWord
bool WriteDWord(uint32_t i)
Definition
fx_stream.cpp:54
IFX_WriteStream::WriteBlock
virtual bool WriteBlock(pdfium::span< const uint8_t > data)=0
fxcrt::ByteString::Format
static ByteString Format(const char *pFormat,...)
Definition
bytestring.cpp:79
fxcrt::ByteString::operator=
ByteString & operator=(ByteString &&that) noexcept
Definition
bytestring.cpp:175
fxcrt::RetainPtr
Definition
retain_ptr.h:28
fxcrt::Retainable
Definition
retain_ptr.h:156
fxcrt::UnownedPtr
Definition
unowned_ptr.h:76
pdfium::CFDETextOutLargeBitmapTest
Definition
cfde_textout_unittest.cpp:117
FPDFCREATE_INCREMENTAL
#define FPDFCREATE_INCREMENTAL
Definition
cpdf_creator.h:26
FPDFCREATE_NO_ORIGINAL
#define FPDFCREATE_NO_ORIGINAL
Definition
cpdf_creator.h:27
FX_Random_MT_Start
void * FX_Random_MT_Start(uint32_t dwSeed)
Definition
fx_random.cpp:87
FX_Random_MT_Close
void FX_Random_MT_Close(void *pContext)
Definition
fx_random.cpp:124
FX_SAFE_FILESIZE
pdfium::CheckedNumeric< FX_FILESIZE > FX_SAFE_FILESIZE
Definition
fx_safe_types.h:17
FX_FILESIZE
#define FX_FILESIZE
Definition
fx_types.h:19
fxcrt
Definition
stl_util.h:17
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
ByteStringView
fxcrt::ByteStringView ByteStringView
Definition
string_view_template.h:325
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fxcrt
fx_stream.h
Generated on
for Qt by
1.18.0