5#ifndef QRANDOMACCESSASYNCFILE_P_P_H
6#define QRANDOMACCESSASYNCFILE_P_P_H
21#include <QtCore/private/qobject_p.h>
23#include <QtCore/qstring.h>
25#ifdef QT_RANDOMACCESSASYNCFILE_THREAD
27#include <QtCore/private/qfsfileengine_p.h>
29#include <QtCore/qfuturewatcher.h>
30#include <QtCore/qmutex.h>
31#include <QtCore/qqueue.h>
37#include <QtCore/qlist.h>
38#include <QtCore/qmutex.h>
39#include <QtCore/qset.h>
40#include <QtCore/qwaitcondition.h>
42#include <dispatch/dispatch.h>
50 Q_DECLARE_PUBLIC(QRandomAccessAsyncFile)
57 {
return file->d_func(); }
73 readInto(qint64 offset, QSpan<std::byte> buffer);
75 writeFrom(qint64 offset, QSpan<
const std::byte> buffer);
78 readInto(qint64 offset, QSpan<
const QSpan<std::byte>> buffers);
80 writeFrom(qint64 offset, QSpan<
const QSpan<
const std::byte>> buffers);
84 enum class FileState : quint8
92 QIODeviceBase::OpenMode m_openMode;
93 FileState m_fileState = FileState::Closed;
95#ifdef QT_RANDOMACCESSASYNCFILE_THREAD
static QRandomAccessAsyncFilePrivate * get(QRandomAccessAsyncFile *file)
QIOOperation * open(const QString &path, QIODeviceBase::OpenMode mode)
~QRandomAccessAsyncFilePrivate() override
void cancelAndWait(QIOOperation *op)
QIOReadOperation * read(qint64 offset, qint64 maxSize)
QIOVectoredWriteOperation * writeFrom(qint64 offset, QSpan< const std::byte > buffer)
QIOWriteOperation * write(qint64 offset, QByteArray &&data)
QIOWriteOperation * write(qint64 offset, const QByteArray &data)
QIOVectoredReadOperation * readInto(qint64 offset, QSpan< std::byte > buffer)
Combined button and popup list for selecting options.