QAbstractNetworkCache Class
QAbstractNetworkCache 类为缓存实现提供了接口。更多内容...
| 头文件: | #include <QAbstractNetworkCache> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake: | QT += network |
| 继承自: | QObject |
| 被继承者: |
公共函数
| 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()
从缓存中移除所有项目。除非清除缓存时发生错误,否则在调用 clear 之后,cacheSize() 应返回 0。
在基类中,这是一个纯虚函数。
[pure virtual] QIODevice *QAbstractNetworkCache::data(const QUrl &url)
返回与url 相关的数据。
数据使用完毕后,应由请求该数据的应用程序负责删除QIODevice 。
如果url 没有缓存、URL 无效,或者发生内部缓存错误,则返回nullptr 。
在基类中,这是一个纯虚函数。
[pure virtual] void QAbstractNetworkCache::insert(QIODevice *device)
将device 中的数据和已准备好的元数据插入缓存。调用此函数后,应可通过data()和metaData()获取这些数据和元数据。
要取消已准备好的插入操作,请对元数据的 URL 调用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。
在基类中,这是一个纯虚函数。
[pure virtual] void QAbstractNetworkCache::updateMetaData(const QNetworkCacheMetaData &metaData)
将metaData 该 URL 的缓存元数据日期更新为metaData
如果缓存中不包含该 URL 的缓存项,则不执行任何操作。
在基类中,这是一个纯虚函数。
© 2026 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.