QAbstractNetworkCache Class

QAbstractNetworkCache 类为缓存实现提供了接口。更多

Header: #include <QAbstractNetworkCache>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
继承: QObject
继承于:

QNetworkDiskCache

公共函数

virtual ~QAbstractNetworkCache()
virtual qint64 cacheSize() const = 0
virtual QIODevice *data(const QUrl &url) = 0
virtual void insert(QIODevice *device) = 0
virtual QNetworkCacheMetaData metaData(const QUrl &url) = 0
virtual QIODevice *prepare(const QNetworkCacheMetaData &metaData) = 0
virtual bool remove(const QUrl &url) = 0
virtual void updateMetaData(const QNetworkCacheMetaData &metaData) = 0

公共插槽

virtual void clear() = 0

受保护函数

QAbstractNetworkCache(QObject *parent = nullptr)

详细说明

QAbstractNetworkCache 是QNetworkAccessManager 使用的每个标准缓存的基类。QAbstractNetworkCache 是一个抽象类,不能实例化。

另请参阅 QNetworkDiskCache

成员函数文档

[explicit protected] QAbstractNetworkCache::QAbstractNetworkCache(QObject *parent = nullptr)

用给定的parent 构建抽象网络缓存。

[virtual noexcept] QAbstractNetworkCache::~QAbstractNetworkCache()

销毁缓存。

任何未插入的操作都将被丢弃。

另请参见 insert()。

[pure virtual] qint64 QAbstractNetworkCache::cacheSize() const

返回缓存占用的当前大小。根据缓存实现的不同,这可能是磁盘或内存的大小。

在基类中,这是一个纯虚函数。

另请参见 clear()。

[pure virtual slot] void QAbstractNetworkCache::clear()

删除缓存中的所有项目。除非清除缓存失败,否则cacheSize() 在调用清除后应返回 0。

在基类中,这是一个纯虚函数。

另请参阅 cacheSize() 和remove()。

[pure virtual] QIODevice *QAbstractNetworkCache::data(const QUrl &url)

返回与url 相关的数据。

请求数据的应用程序可自行决定是否在使用完毕后删除QIODevice

如果url 没有缓存,url 无效,或者内部缓存出错,则返回nullptr

在基类中,这是一个纯虚函数。

另请参见 metaData() 和prepare()。

[pure virtual] void QAbstractNetworkCache::insert(QIODevice *device)

device 中的数据和准备好的元数据插入缓存。调用此函数后,应可使用data() 和metaData() 检索数据和元数据。

要取消已插入的数据,请在元数据的 url 上调用remove() 。

在基类中,这是一个纯虚函数。

另请参见 prepare() 和remove()。

[pure virtual] QNetworkCacheMetaData QAbstractNetworkCache::metaData(const QUrl &url)

返回网址url 的元数据。

如果 url 有效且缓存中包含 url 的数据,则返回有效的QNetworkCacheMetaData

在基类中,这是一个纯虚函数。

另请参见 updateMetaData() 和data()。

[pure virtual] QIODevice *QAbstractNetworkCache::prepare(const QNetworkCacheMetaData &metaData)

返回为缓存项metaData 填充数据的设备。写入所有数据后,应调用insert() 。如果metaData 无效或元数据中的 url 无效,则会返回nullptr

缓存拥有该设备,并将在插入或移除时负责删除该设备。

要取消已准备好的插入,请在元数据的 url 上调用remove() 。

在基类中,这是一个纯虚函数。

另请参见 remove()、updateMetaData() 和insert()。

[pure virtual] bool QAbstractNetworkCache::remove(const QUrl &url)

删除url 的缓存条目,如果成功则返回 true,否则返回 false。

在基类中,这是一个纯虚函数。

另请参见 clear() 和prepare()。

[pure virtual] void QAbstractNetworkCache::updateMetaData(const QNetworkCacheMetaData &metaData)

metaData 网址的缓存元日期更新为metaData

如果缓存中没有该网址的缓存项,则不会执行任何操作。

在基类中,这是一个纯虚函数。

另请参见 metaData() 和prepare()。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.