Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QQsbCollection Class Referenceabstract

#include <qqsbcollection_p.h>

+ Inheritance diagram for QQsbCollection:
+ Collaboration diagram for QQsbCollection:

Classes

struct  Entry
 
struct  EntryDesc
 

Public Types

using FeatureSet = QMap<QByteArray, bool>
 
using EntryMap = QSet<Entry>
 

Public Member Functions

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

template<typename T >
static FeatureSet toFeatureSet (const T &ssgFeatureSet)
 

Protected Types

enum  Version : quint8 { Unknown , One = 0x10 , Two = 0x20 }
 

Protected Member Functions

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)
 

Detailed Description

Definition at line 30 of file qqsbcollection_p.h.

Member Typedef Documentation

◆ EntryMap

Definition at line 76 of file qqsbcollection_p.h.

◆ FeatureSet

Definition at line 53 of file qqsbcollection_p.h.

Member Enumeration Documentation

◆ Version

enum QQsbCollection::Version : quint8
protected
Enumerator
Unknown 
One 
Two 

Definition at line 82 of file qqsbcollection_p.h.

Constructor & Destructor Documentation

◆ ~QQsbCollection()

QT_BEGIN_NAMESPACE QQsbCollection::~QQsbCollection ( )
virtual

Definition at line 12 of file qqsbcollection.cpp.

Member Function Documentation

◆ addEntry()

virtual Entry QQsbCollection::addEntry ( const QByteArray & key,
const EntryDesc & entryDesc )
pure virtual

◆ availableEntries()

virtual EntryMap QQsbCollection::availableEntries ( ) const
pure virtual

◆ extractEntry()

virtual bool QQsbCollection::extractEntry ( Entry entry,
EntryDesc & entryDesc )
pure virtual

◆ readEndHeader() [1/2]

bool QQsbCollection::readEndHeader ( QDataStream & ds,
qint64 * startPos,
quint8 * version )
protected

Definition at line 66 of file qqsbcollection.cpp.

References fileId(), MagicaDS, QtVersion, qWarning, and Two.

Referenced by QQsbInMemoryCollection::load(), QQsbIODeviceCollection::map(), and readEndHeader().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ readEndHeader() [2/2]

bool QQsbCollection::readEndHeader ( QIODevice * device,
EntryMap * entries,
quint8 * version )
protected

Definition at line 86 of file qqsbcollection.cpp.

References device, HeaderSize, readEndHeader(), and QDataStream::setVersion().

+ Here is the call graph for this function:

◆ toFeatureSet()

template<typename T >
static FeatureSet QQsbCollection::toFeatureSet ( const T & ssgFeatureSet)
inlinestatic

Definition at line 56 of file qqsbcollection_p.h.

References i, and ret.

Referenced by QSSGShaderCache::compileForRhi(), QSSGRendererPrivate::generateRhiShaderPipelineImpl(), and QSSGCustomMaterialSystem::shadersForCustomMaterial().

+ Here is the caller graph for this function:

◆ writeEndHeader() [1/2]

void QQsbCollection::writeEndHeader ( QDataStream & ds,
qint64 startPos,
quint8 version,
quint64 magic )
protected

Definition at line 104 of file qqsbcollection.cpp.

References magic, and QtVersion.

Referenced by QQsbInMemoryCollection::save(), QQsbIODeviceCollection::unmap(), and writeEndHeader().

+ Here is the caller graph for this function:

◆ writeEndHeader() [2/2]

void QQsbCollection::writeEndHeader ( QIODevice * device,
const EntryMap & entries )
protected

Definition at line 109 of file qqsbcollection.cpp.

References device, MagicaDS, Q_ASSERT, QDataStream::setVersion(), Two, and writeEndHeader().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: