Archiver factory interface. More...
#include <ArchiverFactory.h>
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. | |
virtual void DILIGENT_CALL_TYPE | SetMemoryAllocator (IMemoryAllocator *pAllocator) const =0 |
Sets the memory allocator to be used by the archiver. | |
![]() | |
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 |
Archiver factory interface.
|
pure virtual |
Copies device-specific data from the source archive to the destination and writes a new archive to the stream.
[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. |
true
if the device-specific data was successfully added, and false
otherwise.
|
pure virtual |
Creates an archiver.
[in] | pDevice | - Pointer to the serialization device. |
[out] | ppArchiver | - Address of the memory location where a pointer to the archiver interface will be written. |
|
pure virtual |
Creates a default shader source input stream factory.
[in] | SearchDirectories | - Semicolon-separated list of search directories. |
[out] | ppShaderSourceStreamFactory | - Memory address where a pointer to the shader source stream factory will be written. |
|
pure virtual |
Creates a serialization device.
[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. |
|
pure virtual |
Merges multiple archives into one.
[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. |
true
if the archives were successfully merged, and false
otherwise.
|
pure virtual |
Removes device-specific data from the archive and writes a new archive to the stream.
[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. |
true
if the device-specific data was successfully removed, and false
otherwise.
|
pure virtual |
Sets whether to break program execution on assertion failure.
[in] | BreakOnError | - Whether to break on assertion failure. |
|
pure virtual |
Sets the memory allocator to be used by the archiver.
[in] | pAllocator | - Pointer to the memory allocator. |
The allocator is a global setting that applies to the entire execution unit (executable or shared library that contains the archiver implementation).
The allocator should be set before any other factory method is called and should not be changed afterwards. The allocator object must remain valid until all objects created by the factory are destroyed.
|
pure virtual |
Sets a user-provided debug message callback.
[in] | MessageCallback | - Debug message callback function to use instead of the default one. |