Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::IArchiverFactory Struct Referenceabstract

Archiver factory interface. More...

#include <ArchiverFactory.h>

Inheritance diagram for Diligent::IArchiverFactory:
Diligent.IObject

Public Member Functions

virtual void DILIGENT_CALL_TYPE CreateSerializationDevice (const SerializationDeviceCreateInfo &CreateInfo, ISerializationDevice **ppDevice)=0
 Creates a serialization device.
 
virtual void DILIGENT_CALL_TYPE CreateArchiver (ISerializationDevice *pDevice, IArchiver **ppArchiver)=0
 Creates an archiver.
 
virtual void DILIGENT_CALL_TYPE CreateDefaultShaderSourceStreamFactory (const Char *SearchDirectories, struct IShaderSourceInputStreamFactory **ppShaderSourceFactory) const =0
 Creates a default shader source input stream factory.
 
virtual Bool DILIGENT_CALL_TYPE RemoveDeviceData (const IDataBlob *pSrcArchive, ARCHIVE_DEVICE_DATA_FLAGS DeviceFlags, IDataBlob **ppDstArchive) const =0
 Removes device-specific data from the archive and writes a new archive to the stream.
 
virtual Bool DILIGENT_CALL_TYPE AppendDeviceData (const IDataBlob *pSrcArchive, ARCHIVE_DEVICE_DATA_FLAGS DeviceFlags, const IDataBlob *pDeviceArchive, IDataBlob **ppDstArchive) const =0
 Copies device-specific data from the source archive to the destination and writes a new archive to the stream.
 
virtual Bool DILIGENT_CALL_TYPE MergeArchives (const IDataBlob *ppSrcArchives[], Uint32 NumSrcArchives, IDataBlob **ppDstArchive) const =0
 Merges multiple archives into one.
 
virtual Bool DILIGENT_CALL_TYPE PrintArchiveContent (const IDataBlob *pArchive) const =0
 Prints archive content for debugging and validation.
 
virtual void DILIGENT_CALL_TYPE SetMessageCallback (DebugMessageCallbackType MessageCallback) const =0
 Sets a user-provided debug message callback.
 
virtual void DILIGENT_CALL_TYPE SetBreakOnError (bool BreakOnError) const =0
 Sets whether to break program execution on assertion failure.
 
- Public Member Functions inherited from Diligent.IObject
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE AddRef ()=0
 Increments the number of strong references by 1.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE Release ()=0
 
virtual IReferenceCounters *DILIGENT_CALL_TYPE GetReferenceCounters () const =0
 

Detailed Description

Archiver factory interface.

Member Function Documentation

◆ AppendDeviceData()

virtual Bool DILIGENT_CALL_TYPE Diligent::IArchiverFactory::AppendDeviceData ( const IDataBlob * pSrcArchive,
ARCHIVE_DEVICE_DATA_FLAGS DeviceFlags,
const IDataBlob * pDeviceArchive,
IDataBlob ** ppDstArchive ) const
pure virtual

Copies device-specific data from the source archive to the destination and writes a new archive to the stream.

Parameters
[in]pSrcArchive- Source archive to which new device-specific data will be added.
[in]DeviceFlags- Combination of device types that will be copied.
[in]pDeviceArchive- Archive that contains the same common data and additional device-specific data.
[out]ppDstArchive- Memory address where a pointer to the new archive will be written.
Returns
true if the device-specific data was successfully added, and false otherwise.

◆ CreateArchiver()

virtual void DILIGENT_CALL_TYPE Diligent::IArchiverFactory::CreateArchiver ( ISerializationDevice * pDevice,
IArchiver ** ppArchiver )
pure virtual

Creates an archiver.

Parameters
[in]pDevice- Pointer to the serialization device.
[out]ppArchiver- Address of the memory location where a pointer to the archiver interface will be written.

◆ CreateDefaultShaderSourceStreamFactory()

virtual void DILIGENT_CALL_TYPE Diligent::IArchiverFactory::CreateDefaultShaderSourceStreamFactory ( const Char * SearchDirectories,
struct IShaderSourceInputStreamFactory ** ppShaderSourceFactory ) const
pure virtual

Creates a default shader source input stream factory.

Parameters
[in]SearchDirectories- Semicolon-separated list of search directories.
[out]ppShaderSourceStreamFactory- Memory address where a pointer to the shader source stream factory will be written.

◆ CreateSerializationDevice()

virtual void DILIGENT_CALL_TYPE Diligent::IArchiverFactory::CreateSerializationDevice ( const SerializationDeviceCreateInfo & CreateInfo,
ISerializationDevice ** ppDevice )
pure virtual

Creates a serialization device.

Parameters
[in]CreateInfo- Serialization device create information, see Diligent::SerializationDeviceCreateInfo.
[out]ppDevice- Address of the memory location where a pointer to the device interface will be written.

◆ MergeArchives()

virtual Bool DILIGENT_CALL_TYPE Diligent::IArchiverFactory::MergeArchives ( const IDataBlob * ppSrcArchives[],
Uint32 NumSrcArchives,
IDataBlob ** ppDstArchive ) const
pure virtual

Merges multiple archives into one.

Parameters
[in]ppSrcArchives- An array of pointers to the source archives.
[in]NumSrcArchives- The number of elements in ppArchives array.
[out]ppDstArchive- Memory address where a pointer to the merged archive will be written.
Returns
true if the archives were successfully merged, and false otherwise.

◆ RemoveDeviceData()

virtual Bool DILIGENT_CALL_TYPE Diligent::IArchiverFactory::RemoveDeviceData ( const IDataBlob * pSrcArchive,
ARCHIVE_DEVICE_DATA_FLAGS DeviceFlags,
IDataBlob ** ppDstArchive ) const
pure virtual

Removes device-specific data from the archive and writes a new archive to the stream.

Parameters
[in]pSrcArchive- Source archive from which device specific-data will be removed.
[in]DeviceFlags- Combination of device types that will be removed.
[out]ppDstArchive- Memory address where a pointer to the new archive will be written.
Returns
true if the device-specific data was successfully removed, and false otherwise.

◆ SetBreakOnError()

virtual void DILIGENT_CALL_TYPE Diligent::IArchiverFactory::SetBreakOnError ( bool BreakOnError) const
pure virtual

Sets whether to break program execution on assertion failure.

Parameters
[in]BreakOnError- Whether to break on assertion failure.

◆ SetMessageCallback()

virtual void DILIGENT_CALL_TYPE Diligent::IArchiverFactory::SetMessageCallback ( DebugMessageCallbackType MessageCallback) const
pure virtual

Sets a user-provided debug message callback.

Parameters
[in]MessageCallback- Debug message callback function to use instead of the default one.