PrimoBurner(tm) for C++
4.6
CD, DVD and Blu-ray Software Development Kit
|
The DataDisc interface provides methods for creating and burning data images to CD, DVD and Blu-ray Discs. More...
#include <PrimoBurnerAPI.h>
Inherits Reference.
Public Member Functions | |
virtual bool_t | bootable () const =0 |
Gets whether or not a bootable image will be created. More... | |
virtual BootProps * | bootProps () const =0 |
Gets an interface for setting Boot properties. More... | |
virtual CachePolicy * | cachePolicy () const =0 |
Gets an interface for setting cache properties. More... | |
virtual DataDiscCallback * | callback () const =0 |
Gets the callback object to be used for notifications during the burning. More... | |
virtual bool_t | cdRomXA () const =0 |
Gets the current setting for recording a CD-ROM XA disc. More... | |
virtual bool_t | closeDisc () const =0 |
Gets whether the disc will be closed when the next session write ends. More... | |
virtual bool_t | closeSession () const =0 |
Indicates whether to close the session after the burning is completed. More... | |
virtual bool_t | closeTrack () const =0 |
Gets whether the CD/DVD data track should be closed after the burning. | |
virtual DataFile * | copyImageLayout ()=0 |
The copyImageLayout method extracts the DataDisc directory layout. More... | |
virtual DataOverwrite::Enum | dataOverwrite () const =0 |
Gets the file overwrite flags for DVD+RW, DVD-RAM and BD-RE discs. More... | |
virtual Device * | device (void) const =0 |
Gets the Device instance that DataDisc is using. More... | |
virtual bool_t | dvdVideo () const =0 |
Gets the current DVD-Video setting. More... | |
virtual const ErrorInfo * | error () const =0 |
Gets error information about the last operation. More... | |
virtual bool_t | filenameTranslation () const =0 |
Gets whether filenames are being translated. More... | |
virtual int32_t | imageConstraints () const =0 |
Returns the constraint flags set with the SetImageConstraints method. More... | |
virtual int32_t | imageSizeInBlocks () const =0 |
Gets the image layout size in blocks. More... | |
virtual int64_t | imageSizeInBytes () const =0 |
Gets the image layout size in bytes. More... | |
virtual int32_t | imageType () const =0 |
Gets the image file system type. More... | |
virtual IsoVolumeProps * | isoVolumeProps () const =0 |
Gets an interface for setting and reading ISO9660 volume properties. More... | |
virtual JolietVolumeProps * | jolietVolumeProps () const =0 |
Gets an interface for setting and reading Joliet volume properties. More... | |
virtual int32_t | layoutLoadTrack () const =0 |
Gets the track number set with setLayoutLoadTrack. More... | |
virtual int32_t | loadedImageSizeInBlocks ()=0 |
Gets the size in blocks, of a image which has been loaded with the LoadFromDisc method. More... | |
virtual bool_t | loadFromDisc (int32_t trackNumber)=0 |
Loads a file system from existing track on a CD/DVD. More... | |
virtual bool_t | loadFromFile (const char_t *filename)=0 |
Loads a data image from file. More... | |
virtual bool_t | merge (DataDisc *source, MergeDirection::Enum direction=MergeDirection::Left)=0 |
Merges the file trees of two DataDisc instances. More... | |
virtual int32_t | sessionStartAddress () const =0 |
Gets the address specified with the setSessionStartAddress method. More... | |
virtual void | setBootable (bool_t bootable)=0 |
Indicates whether or not a bootable image will be created. More... | |
virtual void | setCallback (DataDiscCallback *callback)=0 |
Sets a callback object to be used for notifications during the burning. More... | |
virtual void | setCDRomXA (bool_t flag)=0 |
Instructs the DataDisc to use Mode2 Form 1 XA sectors during the disc recording. More... | |
virtual void | setCloseDisc (bool_t closeDisc)=0 |
Instructs DataDisc to close the disc after the session is written to the disc. More... | |
virtual void | setCloseSession (bool_t closeSession)=0 |
Indicates whether to close the session after the burning is completed. More... | |
virtual void | setCloseTrack (bool_t close)=0 |
Indicates that the current track should be closed after the burning. More... | |
virtual void | setDataOverwrite (DataOverwrite::Enum dataOverwrite)=0 |
Sets whether files from the image layout should physically overwrite files that already exist on the disc. More... | |
virtual void | setDevice (Device *device)=0 |
Sets Device instance that to be used when burning discs. | |
virtual void | setDVDVideo (bool_t dvdVideo)=0 |
Indicates that DataDisc should create a DVD-Video compatible image. More... | |
virtual void | setFilenameTranslation (bool_t translate)=0 |
Enables the default translation of the file names during the image creation. More... | |
virtual void | setImageConstraints (int32_t imageConstraints)=0 |
Call this method to set image validation constraints. More... | |
virtual bool_t | setImageLayout (DataFile *imageLayout, bool_t sortByFilename=0)=0 |
Sets the file tree of a data image. More... | |
virtual bool_t | setImageLayoutFromFolder (const char_t *rootFolder, bool_t sortByFilename=0)=0 |
Sets the logical layout of a data image from a folder. More... | |
virtual void | setImageType (int32_t imageTypeFlags)=0 |
Sets the image file system type. More... | |
virtual void | setLayoutLoadTrack (int32_t trackNumber)=0 |
The setLayoutLoadTrack method sets a track that should be loaded and merged with the new data layout. More... | |
virtual void | setSessionStartAddress (int32_t address)=0 |
Sets the start address of the data session in blocks. More... | |
virtual void | setSimulateBurn (bool_t simulate)=0 |
Indicates that burning should be simulated. More... | |
virtual bool_t | setWriteMethod (WriteMethod::Enum writeMethod)=0 |
Sets the disc write method. More... | |
virtual void | setWriteStrategy (DataWriteStrategy::Enum writeStrategy)=0 |
Sets the write attributes. More... | |
virtual bool_t | simulateBurn () const =0 |
Gets the current simulation setting. More... | |
virtual UdfVolumeProps * | udfVolumeProps () const =0 |
Gets an interface for setting and reading UDF volume properties. More... | |
virtual bool_t | writeImageToDisc (const char_t *imageFile, bool_t dismountVolume=0)=0 |
Writes an image file to a CD/DVD/BD disc. More... | |
virtual bool_t | writeImageToDiscEx (primo::Stream *stream, bool_t dismountVolume=0)=0 |
The WriteImageToDiscEx method writes an image to a CD/DVD/BD disc. More... | |
virtual WriteMethod::Enum | writeMethod () const =0 |
Gets the current write method. More... | |
virtual DataWriteStrategy::Enum | writeStrategy () const =0 |
Gets the current data write strategy. More... | |
virtual bool_t | writeToDisc (bool_t dismountVolume=0)=0 |
The WriteToDisc method generates and writes a data image to a CD/DVD. More... | |
virtual bool_t | writeToImageFile (const char_t *imageFile)=0 |
Creates an ISO image file from the current image layout. More... | |
Public Member Functions inherited from Reference | |
virtual int32_t | release () const =0 |
Releases the instance. More... | |
virtual int32_t | retain () const =0 |
Retains the instance. More... | |
virtual int32_t | retainCount () const =0 |
Returns the current reference count. More... | |
The DataDisc interface provides methods for creating and burning data images to CD, DVD and Blu-ray Discs.
|
pure virtual |
Gets whether or not a bootable image will be created.
|
pure virtual |
|
pure virtual |
Gets an interface for setting cache properties.
|
pure virtual |
Gets the callback object to be used for notifications during the burning.
|
pure virtual |
Gets the current setting for recording a CD-ROM XA disc.
|
pure virtual |
Gets whether the disc will be closed when the next session write ends.
|
pure virtual |
Indicates whether to close the session after the burning is completed.
|
pure virtual |
The copyImageLayout method extracts the DataDisc directory layout.
Use the loadFromDisc method to load the disc layout from a recorded disc.
|
pure virtual |
Gets the file overwrite flags for DVD+RW, DVD-RAM and BD-RE discs.
|
pure virtual |
|
pure virtual |
Gets the current DVD-Video setting.
|
pure virtual |
Gets error information about the last operation.
|
pure virtual |
Gets whether filenames are being translated.
|
pure virtual |
Returns the constraint flags set with the SetImageConstraints method.
|
pure virtual |
Gets the image layout size in blocks.
The size of a data block is 2048 bytes.
|
pure virtual |
Gets the image layout size in bytes.
|
pure virtual |
Gets the image file system type.
|
pure virtual |
Gets an interface for setting and reading ISO9660 volume properties.
|
pure virtual |
Gets an interface for setting and reading Joliet volume properties.
|
pure virtual |
|
pure virtual |
Gets the size in blocks, of a image which has been loaded with the LoadFromDisc method.
The size of a data block is 2048 bytes.
|
pure virtual |
Loads a file system from existing track on a CD/DVD.
This method reads only the directory tables. The directory tables map filenames and directory names to physical sectors on the disc.
When creating a multi-session data disc the calling application should merge the layouts of the new image and the last track on the CD/DVD.
Before using this method a device must be set with a call to the SetDevice method
trackNumber | The track number where the image path table is read from. The track must exist on the disc. |
|
pure virtual |
Loads a data image from file.
The method works with Mode1 (2048 bytes/sector) data images created with the CreateImageFile method. This method loads only the image layout into memory. The actual data is read from the image file when needed.
filename | ISO image file the layout of which should be loaded into this instance of DataDisc. The file should be a ISO/Joliet/UDF data image that can be recorded in Mode1 (2048 bytes/sector). |
|
pure virtual |
Merges the file trees of two DataDisc instances.
This method is usually used together with the loadFromDisc method to create multi-session data discs.
source | A pointer to DataDisc instance, the layout of which should be merged into the layout of this object. |
direction | This parameter affects the way files with same virtual path are handled: |
MergeDirection::Left: If a file with the same virtual path exists both in source and in 'this', the file from pNew replaces the file from 'this'.
MergeDirection::Right: If a file with the same virtual path exists both in source and in 'this', the file from pNew is ignored.
|
pure virtual |
Gets the address specified with the setSessionStartAddress method.
|
pure virtual |
Indicates whether or not a bootable image will be created.
If you do not call this method a non-bootable image is created by default.
bootable | Specifies whether a bootable image will be created by DataDisc. |
|
pure virtual |
Sets a callback object to be used for notifications during the burning.
callback | A pointer to an object that implements the DataDiscCallback interface. |
|
pure virtual |
Instructs the DataDisc to use Mode2 Form 1 XA sectors during the disc recording.
After the burning the resulting CD will become CD-ROM XA disc.
In multi-session / multi-track discs XA (Mode2 Form 1 XA) and normal (Mode1) track types cannot be mixed together.
This property has effect only when the write method is set to Session-At-Once (WriteMethod::Sao).
flag | [in] Indicates whether to burn a Mode2 Form 1 XA track. |
|
pure virtual |
Instructs DataDisc to close the disc after the session is written to the disc.
If you never use this method the disc will be closed by default. Calling setCloseDisc has no effect for DVD-RAM.
closeDisc | Indicates whether to close the disc after the session has been written. |
|
pure virtual |
Indicates whether to close the session after the burning is completed.
This method has no effect for DVD-RAM.
closeSession | Indicates whether to close the new session. If this parameter is TRUE, the session is closed. If this parameter is FALSE, the session is left open and additional tracks may be added to the session later. If you never call this method the session is always closed by default. |
|
pure virtual |
Indicates that the current track should be closed after the burning.
This property has no effect for DVD-RAM.
close | Specifies whether to close the track. |
|
pure virtual |
Sets whether files from the image layout should physically overwrite files that already exist on the disc.
When a file is physically overwritten the new file data is written to the same disc address as the old file, effectively replacing the data but not increasing the image size.
dataOverwrite | Specifies whether to overwrite files on DVD+RW, DVD-RAM and BD-RE discs. |
|
pure virtual |
Indicates that DataDisc should create a DVD-Video compatible image.
dvdVideo | TRUE if a DVD-Video image will be created, FALSE otherwise. |
|
pure virtual |
Enables the default translation of the file names during the image creation.
If set to true the engine will replace the long file names with shorter ones without reporting an error. If false the engine will report an error for any constraint that is violated. The default setting for this property is false.
translate | If TRUE the engine will replace the long file names with shorter ones without reporting an error. If FALSE the engine will report an error for any constraint that is violated. The default setting for this property is FALSE. <p>The file names are translated according to the following rules: If there is an extension the first three characters of the extension are kept as extension for the short filename. The name part only (the part without the extension) is truncated so its length plus 4 (the length of the extension and the dot '.') equals the maximum filename length allowed for the image type that is to be created. |
This property is ignored if no constraints have been set.
|
pure virtual |
Call this method to set image validation constraints.
The constraints are checked by setImageLayout and setImageLayoutFromFolder methods.
imageConstraints | Contains a combination of one or more of the flags defined in the ImageConstraintFlags enumeration. The default value of this property is ImageConstraintFlags::None (0) and no validation of the file names is performed. |
|
pure virtual |
Sets the file tree of a data image.
imageLayout | The file system of the image, a tree of files and directories that should be used as an image layout. The first DataFile item in the directory tree should be the root of the file system. The parameter imageLayout must not be NULL. |
sortByFilename | Indicates whether to perform case sensitive ASCII sorting of the file entries based on the LongFilename value. For example assume that you have two files with names JOHNSTON and JOHN_HENRY. The string JOHN_HENRY will be greater than JOHNSTON because the "_" has a greater ASCII value than an uppercase S. The file entry for JOHN_HENRY will be placed physically on the CD after the file entry for JOHNSTON. |
|
pure virtual |
Sets the logical layout of a data image from a folder.
The logical directory and file layout of the image will be identical to the directory tree under the folder specified in lpRootFolder parameter.
rootFolder | The folder name that should be used to create the image layout. The name must specify the full path to the folder. |
sortByFilename | Indicates whether to perform case sensitive ASCII sorting of the file entries based on the LongFilename value. For example assume that you have two files with names JOHNSTON and JOHN_HENRY. The string JOHN_HENRY will be greater than JOHNSTON because the "_" has a greater ASCII value than an uppercase S. The file entry for JOHN_HENRY will be placed physically on the CD after the file entry for JOHNSTON. |
|
pure virtual |
Sets the image file system type.
The possible values are defined in the EImageType enumeration
imageTypeFlags | The image type. |
|
pure virtual |
The setLayoutLoadTrack method sets a track that should be loaded and merged with the new data layout.
This method must be called before the setImageLayoutFromFolder or setImageLayout methods.
trackNumber | [in] track number from the CD/DVD. The track should be a valid data track. To disable track merging set this parameter to 0. |
|
pure virtual |
Sets the start address of the data session in blocks.
The start address is saved in the image structures before it is burnt. The OS uses that information to find the data on multi-session discs.
address | The start address of the new session in blocks. Call Device::newSessionStartAddress to get the correct start address for the next session. |
|
pure virtual |
Indicates that burning should be simulated.
The simulation is a good test of a disc recorder, because most of the operations are performed as in a real recording.
simulate | If TRUE the device is instructed to write in simulation mode. |
Simulation is only supported for CD-R/RW and DVD-R/RW media. On CD-R/RW media simulation is possible only for Track-At-Once or Session-At-Once recording. On DVD-R/RW media, simulation is possible for Disc-At-Once recording.
|
pure virtual |
Sets the disc write method.
writeMethod | The write method that should be used to burn next disc session. See the EWriteMethod enumeration. |
The following write methods are currently supported:
CD Media: WriteMethod::Packet, WriteMethod::Tao, WriteMethod::Sao, WriteMethod::RawDao
DVD Media: WriteMethod::DVDIncremental, WriteMethod::DVDDao
The WriteMethod::DVDIncremental method works with all DVD profiles. The burning is done in sessions and fragments (tracks) with one exception for DVD+RW media: DVD+RW disc needs to be formatted before any burning could be done and once formatted the disc contains one session and one track and the whole track could be written and rewritten randomly with no overwrite restrictions.
The WriteMethod::DVDDao can be used only with DVD-RW formatted for sequential writing and DVD-R media. With WriteMethod::DVDDao the disc will contain one session with one track. No sessions could be added after the burning is completed. It is recommended to use the WriteMethod::DVDDao and DVD-R media to burn DVD movies to ensure best compatibility with the consumer DVD players.
BD Media: WriteMethod::BluRay
|
pure virtual |
Sets the write attributes.
The write attributes affect the way writeToDisc method works and should be used only for burning of multi-track sessions.
writeStrategy | [in] Write attributes. See the DataWriteStrategy enumeration for details about different attributes. |
|
pure virtual |
Gets the current simulation setting.
|
pure virtual |
Gets an interface for setting and reading UDF volume properties.
|
pure virtual |
Writes an image file to a CD/DVD/BD disc.
The recording progress is reported through the DataDiscCallback interface.
No check is performed for the available space on the disc. Use the Device::mediaFreeSpace method to get the disc free space.
imageFile | [in] The full path to the data image file. |
dismountVolume | Indicates whether to dismount the volume after the burning. The default value of this parameter is FALSE. |
The operating system tries to mount an unmounted volume as soon as an attempt is made to access it. For example, a call to GetLogicalDrives triggers the operating system to mount unmounted volumes.
Dismounting a volume is useful when a volume needs to disappear for a while. For example, when an application changes a volume file system it needs to dismount it to clear the volume information cache.
|
pure virtual |
The WriteImageToDiscEx method writes an image to a CD/DVD/BD disc.
This method uses primo::Stream to read the image data. The recording progress is reported through the DataDiscCallback interface.
stream | [in] Pointer to an object that implements the primo::Stream interface. |
dismountVolume | Indicates whether to dismount the volume after the burning. The default value of this parameter is FALSE. |
The operating system tries to mount an unmounted volume as soon as an attempt is made to access it. For example, a call to GetLogicalDrives triggers the operating system to mount unmounted volumes.
Dismounting a volume is useful when a volume needs to disappear for a while. For example, when an application changes a volume file system it needs to dismount it to clear the volume information cache.
|
pure virtual |
Gets the current write method.
|
pure virtual |
Gets the current data write strategy.
|
pure virtual |
The WriteToDisc method generates and writes a data image to a CD/DVD.
The current layout must be set with the SetImageLayoutFromFolder or SetImageLayout methods before this method can be called. The recording progress is reported through the DataDiscCallback interface. This method works with both CD and DVD media.
No check is performed for the available space on the disc. Use the Device::mediaFreeSpace method to get the disc free space. Use the GetImageSizeInBlocks method to get the size of the data image in blocks.
dismountVolume | Indicates whether to dismount the volume after the burning. The default value of this parameter is FALSE. |
The operating system tries to mount an unmounted volume as soon as an attempt is made to access it. For example, a call to GetLogicalDrives triggers the operating system to mount unmounted volumes.
Dismounting a volume is useful when a volume needs to disappear for a while. For example, when an application changes a volume file system it needs to dismount it to clear the volume information cache.
|
pure virtual |
Creates an ISO image file from the current image layout.
The data of all the files from the layout is written to the image file. After the image file is created it can be written to CD or DVD with the writeImageToDisc method.
imageFile | Full path to the output image file. If the file exists it will be destroyed. |