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
qrandomaccessasyncfile_p.h
Go to the documentation of this file.
1
// Copyright (C) 2025 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QRANDOMACCESSASYNCFILE_P_H
6
#
define
QRANDOMACCESSASYNCFILE_P_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
"qiooperation_p.h"
20
21
#
include
<
QtCore
/
qobject
.
h
>
22
#
include
<
QtCore
/
qspan
.
h
>
23
24
QT_BEGIN_NAMESPACE
25
26
class
QRandomAccessAsyncFilePrivate
;
27
class
Q_CORE_EXPORT
QRandomAccessAsyncFile
:
public
QObject
28
{
29
Q_OBJECT
30
public
:
31
explicit
QRandomAccessAsyncFile(QObject *parent =
nullptr
);
32
~QRandomAccessAsyncFile() override;
33
34
// sync APIs
35
void
close();
36
qint64 size()
const
;
37
38
[[nodiscard]] QIOOperation *open(
const
QString &filePath, QIODeviceBase::OpenMode mode);
39
[[nodiscard]] QIOOperation *flush();
40
41
// owning APIs: we are responsible for storing the data
42
[[nodiscard]] QIOReadOperation *read(qint64 offset, qint64 maxSize);
43
[[nodiscard]] QIOWriteOperation *write(qint64 offset,
const
QByteArray &data);
44
[[nodiscard]] QIOWriteOperation *write(qint64 offset, QByteArray &&data);
45
46
// non-owning APIs: the user has to control the lifetime of buffers
47
[[nodiscard]] QIOVectoredReadOperation *
48
readInto(qint64 offset, QSpan<std::byte> buffer);
49
[[nodiscard]] QIOVectoredWriteOperation *
50
writeFrom(qint64 offset, QSpan<
const
std::byte> buffer);
51
52
// vectored IO APIs, also non-owning
53
[[nodiscard]] QIOVectoredReadOperation *
54
readInto(qint64 offset, QSpan<
const
QSpan<std::byte>> buffers);
55
[[nodiscard]] QIOVectoredWriteOperation *
56
writeFrom(qint64 offset, QSpan<
const
QSpan<
const
std::byte>> buffers);
57
58
Q_SIGNALS:
59
60
private
:
61
Q_DECLARE_PRIVATE(QRandomAccessAsyncFile)
62
Q_DISABLE_COPY_MOVE(QRandomAccessAsyncFile)
63
};
64
65
QT_END_NAMESPACE
66
67
#
endif
// QRANDOMACCESSASYNCFILE_P_H
QIOOperationPrivate
Definition
qiooperation_p_p.h:151
QIOOperationPrivate::offset
qint64 offset
Definition
qiooperation_p_p.h:173
QIOOperationPrivate::State
State
Definition
qiooperation_p_p.h:156
QIOOperationPrivate::State::Running
@ Running
Definition
qiooperation_p_p.h:157
QIOOperationPrivate::State::Finished
@ Finished
Definition
qiooperation_p_p.h:158
QIOOperationPrivate::setError
void setError(QIOOperation::Error err)
Definition
qiooperation.cpp:39
QIOOperationPrivate::~QIOOperationPrivate
~QIOOperationPrivate()
Definition
qiooperation.cpp:19
QIOOperationPrivate::state
State state
Definition
qiooperation_p_p.h:179
QIOOperationPrivate::operationComplete
void operationComplete(QIOOperation::Error err)
Definition
qiooperation.cpp:28
QIOOperationPrivate::file
QPointer< QRandomAccessAsyncFile > file
Definition
qiooperation_p_p.h:171
QIOOperationPrivate::dataStorage
std::unique_ptr< QtPrivate::QIOOperationDataStorage > dataStorage
Definition
qiooperation_p_p.h:182
QIOOperationPrivate::appendBytesProcessed
void appendBytesProcessed(qint64 num)
Definition
qiooperation.cpp:23
QIOOperationPrivate::QIOOperationPrivate
QIOOperationPrivate(QtPrivate::QIOOperationDataStorage *storage)
Definition
qiooperation.cpp:13
QIOOperationPrivate::processed
qint64 processed
Definition
qiooperation_p_p.h:174
QIOOperationPrivate::get
static QIOOperationPrivate * get(QIOOperation *op)
Definition
qiooperation_p_p.h:164
QIOOperation
Definition
qiooperation_p.h:28
QIOReadOperation
Definition
qiooperation_p.h:100
QIOReadWriteOperationBase
Definition
qiooperation_p.h:81
QIOVectoredReadOperation
Definition
qiooperation_p.h:136
QIOVectoredWriteOperation
Definition
qiooperation_p.h:154
QIOWriteOperation
Definition
qiooperation_p.h:118
QRandomAccessAsyncFilePrivate
Definition
qrandomaccessasyncfile_p_p.h:98
QRandomAccessAsyncFile
Definition
qrandomaccessasyncfile_p.h:28
QtPrivate::QIOOperationDataStorage
Definition
qiooperation_p_p.h:38
QtPrivate::QIOOperationDataStorage::QIOOperationDataStorage
QIOOperationDataStorage()
Definition
qiooperation_p_p.h:49
QtPrivate::QIOOperationDataStorage::DefaultNumOfBuffers
static constexpr qsizetype DefaultNumOfBuffers
Definition
qiooperation_p_p.h:45
QtPrivate::QIOOperationDataStorage::getValue
QSpan< const QSpan< std::byte > > getValue() const
Definition
qiooperation_p_p.h:119
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QtPrivate
Definition
qalloc.h:29
qtbase
src
corelib
io
qrandomaccessasyncfile_p.h
Generated on
for Qt by
1.18.0