![]() |
Qt 6.x
The Qt SDK
|
#include <qqsbcollection_p.h>
Public Types | |
enum | MapMode { Read = QIODevice::ReadOnly , Write = (QIODevice::WriteOnly | QIODevice::Truncate) } |
![]() | |
using | FeatureSet = QMap< QByteArray, bool > |
using | EntryMap = QSet< Entry > |
Public Member Functions | |
QQsbIODeviceCollection (const QString &filePath) | |
QQsbIODeviceCollection (QIODevice &dev) | |
~QQsbIODeviceCollection () | |
bool | map (MapMode mode) |
void | unmap () |
EntryMap | availableEntries () const override |
Entry | addEntry (const QByteArray &key, const EntryDesc &entryDesc) override |
bool | extractEntry (Entry entry, EntryDesc &entryDesc) override |
void | dumpInfo () |
![]() | |
virtual | ~QQsbCollection () |
virtual EntryMap | availableEntries () const =0 |
virtual Entry | addEntry (const QByteArray &key, const EntryDesc &entryDesc)=0 |
virtual bool | extractEntry (Entry entry, EntryDesc &entryDesc)=0 |
Static Public Member Functions | |
static void | dumpInfo (const QString &device) |
static void | dumpInfo (QIODevice &device) |
![]() | |
template<typename T > | |
static FeatureSet | toFeatureSet (const T &ssgFeatureSet) |
Additional Inherited Members | |
![]() | |
enum | Version : quint8 { Unknown , One = 0x10 , Two = 0x20 } |
![]() | |
bool | readEndHeader (QDataStream &ds, qint64 *startPos, quint8 *version) |
void | writeEndHeader (QDataStream &ds, qint64 startPos, quint8 version, quint64 magic) |
bool | readEndHeader (QIODevice *device, EntryMap *entries, quint8 *version) |
void | writeEndHeader (QIODevice *device, const EntryMap &entries) |
Definition at line 128 of file qqsbcollection_p.h.
Enumerator | |
---|---|
Read | |
Write |
Definition at line 131 of file qqsbcollection_p.h.
|
explicit |
Definition at line 252 of file qqsbcollection.cpp.
|
explicit |
Definition at line 258 of file qqsbcollection.cpp.
QQsbIODeviceCollection::~QQsbIODeviceCollection | ( | ) |
Definition at line 265 of file qqsbcollection.cpp.
References QSet< T >::isEmpty(), QIODevice::isOpen(), and unmap().
|
overridevirtual |
Implements QQsbCollection.
Definition at line 322 of file qqsbcollection.cpp.
References QSet< T >::contains(), e, QSet< T >::insert(), map, QIODevice::pos(), QDataStream::Qt_6_0, QDataStream::setVersion(), and Write.
|
overridevirtual |
Implements QQsbCollection.
Definition at line 317 of file qqsbcollection.cpp.
Referenced by QSSGShaderLibraryManager::loadPregeneratedShaderInfo().
void QQsbIODeviceCollection::dumpInfo | ( | ) |
Definition at line 360 of file qqsbcollection.cpp.
References borderText(), e, Qt::endl(), extractEntry(), QQsbCollection::EntryDesc::featureSet, QQsbCollection::EntryDesc::fragShader, i, map, QQsbCollection::EntryDesc::materialKey, qDebug, qWarning, Read, QSet< T >::size(), unmap(), and QQsbCollection::EntryDesc::vertShader.
Referenced by dumpInfo(), and dumpInfo().
Definition at line 386 of file qqsbcollection.cpp.
References dumpInfo(), and file.
Definition at line 392 of file qqsbcollection.cpp.
References dumpInfo().
Implements QQsbCollection.
Definition at line 336 of file qqsbcollection.cpp.
References QIODevice::isOpen(), QIODevice::isReadable(), QDataStream::Qt_6_0, qWarning, QIODevice::seek(), QDataStream::setVersion(), and QIODevice::size().
Referenced by dumpInfo(), and QSSGShaderCache::newPipelineFromPregenerated().
bool QQsbIODeviceCollection::map | ( | MapMode | mode | ) |
Definition at line 271 of file qqsbcollection.cpp.
References QIODevice::isOpen(), QIODevice::open(), QIODevice::openMode(), Q_ASSERT, qWarning, QQsbCollection::readEndHeader(), ret, QIODeviceBase::Text, QIODeviceBase::Truncate, unmap(), Write, and QIODeviceBase::WriteOnly.
Referenced by QSSGShaderLibraryManager::loadPregeneratedShaderInfo(), and QSSGShaderCache::newPipelineFromPregenerated().
void QQsbIODeviceCollection::unmap | ( | ) |
Definition at line 303 of file qqsbcollection.cpp.
References QSet< T >::clear(), QIODevice::close(), QSet< T >::isEmpty(), QIODevice::isOpen(), QIODevice::openMode(), QFile::remove(), Write, and QQsbCollection::writeEndHeader().
Referenced by ~QQsbIODeviceCollection(), dumpInfo(), QSSGShaderLibraryManager::loadPregeneratedShaderInfo(), map(), and QSSGShaderCache::newPipelineFromPregenerated().