PrimoBurner(tm) for C++  4.2
CD, DVD and Blu-ray Software Development Kit
DiscCopy Class Reference

Copies CD and DVD discs. More...

#include <PrimoBurner.h>

Inherits Reference.

List of all members.

Public Member Functions

virtual bool_t copyBD (Device *destinationDevice, Device *sourceDevice, bool_t useTemporaryFiles=1)=0
 Copies a Blu-ray disc from one device to a blank Blu-ray disc in another device.
virtual bool_t copyCD (Device *destinationDevice, Device *sourceDevice, bool_t useTemporaryFiles=1, CDCopyReadMethod::Enum readMethod=CDCopyReadMethod::FullRaw, CDCopyWriteMethod::Enum writeMethod=CDCopyWriteMethod::FullRaw)=0
 Copies a CD from one device to a blank CD in another device.
virtual bool_t copyDVD (Device *destinationDevice, Device *sourceDevice, bool_t useTemporaryFiles=1)=0
 Copies a DVD from one device to a blank DVD in another device.
virtual bool_t createImageFromBD (const char_t *imageFile, Device *sourceDevice)=0
 Creates a disc image from a Blu-ray disc.
virtual bool_t createImageFromCD (const char_t *imageFile, Device *sourceDevice, CDCopyReadMethod::Enum readMethod=CDCopyReadMethod::FullRaw)=0
 Creates an image from a CD.
virtual bool_t createImageFromDVD (const char_t *imageFile, Device *sourceDevice)=0
 Creates an image from a DVD.
virtual const ErrorInfoerror () const =0
 Gets error information about the last operation.
virtual DeviceerrorDevice () const =0
 Gets the device on which the error occurred.
virtual void setCallback (DiscCopyCallback *callback)=0
 Sets a callback object for progress reporting.
virtual void setDeleteImageAfterBurn (bool_t deleteSourceImage)=0
 Instructs DiscCopy to delete the source image files after the image is burned on the target disc.
virtual void setSimulateBurn (bool_t simulate)=0
 Indicates that simulation should be performed instead of real recording.
virtual bool_t writeImageToBD (Device *destinationDevice, const char_t *imageFile)=0
 Writes a disc image to a blank Blu-ray disc.
virtual bool_t writeImageToCD (Device *destinationDevice, const char_t *imageFile, CDCopyWriteMethod::Enum writeMethod=CDCopyWriteMethod::FullRaw)=0
 Writes image to blank CD.
virtual bool_t writeImageToDVD (Device *destinationDevice, const char_t *imageFile)=0
 Writes image to a blank DVD.

Protected Member Functions

 ~DiscCopy ()
 This object can be destroyed only by the PrimoBurner library.

Detailed Description

Copies CD and DVD discs.

Note:

When creating a disc image the source medium content is read as binary data and stored in an image description file and one or more binary files.

When burning an image to a disc the image description file tells how the content/s of the binary file/s should be written on the target medium, so that it becomes a replica of the source medium. For this reason not all media types could be copied on any other media type.

See DiscCopy::writeImageToCD and DiscCopy::writeImageToDVD methods for more information.


Member Function Documentation

virtual bool_t copyBD ( Device destinationDevice,
Device sourceDevice,
bool_t  useTemporaryFiles = 1 
) [pure virtual]

Copies a Blu-ray disc from one device to a blank Blu-ray disc in another device.

Parameters:
destinationDeviceDevice instance that describes the physical device containing the BD medium to write the copy image to.
sourceDeviceDevice instance describing the physical device that contains the BD medium to be copied.
useTemporaryFilesSet this parameter to TRUE to create an image of the source disc and store it in temporary image files before burning it to destination disc (after the burning is complete the temporary image files are deleted). Set it to FALSE to use "On the fly" copying in which case no temporary files will be created but the read and write operations will be simultaneous. The default value for this parameter is TRUE.
Returns:
1 Success.
0 Failure. Please see DiscCopy::error.
Remarks:
The following restrictions apply:

If the source medium is a BD-RE, the resulting image could be written on any type of blank BD. In this case, an image is made of the entire disc, so it may take some time.

If the source medium is a BD-ROM, the resulting image could be written on any type of blank BD.

If the source medium is a BD-R in Sequential Recording Mode (SRM), the resulting image could be written on blank BD-R in Sequential Recording Mode (SRM) only.

If the source medium is a BD-R in Sequential Recording Mode (SRM) formatted for Pseudo Overwrite (POW), the resulting image could be written on blank BD-R in Sequential Recording Mode (SRM) formatted for Pseudo Overwrite (POW) only.

In any other case the method will return 0 and DiscCopy::error method will report DiscCopyError::IncompatibleMedia value

NOTE: A blank BD-R in Sequential Recording Mode (SRM) can be formatted for Pseudo Overwrite (POW) using Device::formatBD with BDFormatType::BDFull and BDFormatSubType::BDRSrmPow as parameters.

See also:
Device
DiscCopyError::Enum
virtual bool_t copyCD ( Device destinationDevice,
Device sourceDevice,
bool_t  useTemporaryFiles = 1,
CDCopyReadMethod::Enum  readMethod = CDCopyReadMethod::FullRaw,
CDCopyWriteMethod::Enum  writeMethod = CDCopyWriteMethod::FullRaw 
) [pure virtual]

Copies a CD from one device to a blank CD in another device.

Remarks:
The following restrictions apply:

If the source medium is a CD-R, the resulting image could be written on any type of CD blank.

If the source medium is a CD-RW, the resulting image could be written on any type of CD blank.

Remarks:
DiscCopy does not verify whether the target medium has enough space to receive the image data. In such a case the burn process will not be rejected and will proceed until the target device throws an error saying it cannot write on the requested address (DiscCopy::errorDevice will return the device on which the error occurred).
Parameters:
destinationDeviceDevice instance that describes the physical device containing the CD medium to write the copy image to
sourceDeviceDevice instance describing the physical device that contains the CD medium to be copied
useTemporaryFilesSet this parameter to TRUE to create an image of the source disc and store it in temporary image files before burning it to the destination disc (after the burning is complete the temporary image files are deleted). Set it to FALSE to use "On the fly" copying in which case no temporary files will be created but the read and write operations will be simultaneous. The default value for this parameter is TRUE.
readMethodRead method to be used. The default value is CDCopyReadMethod::FullRaw.
writeMethodA CDCopyWriteMethod::Enum constant defining the how the image will be written on the target CD. The default value is CDCopyWriteMethod::FullRaw.
Returns:
1 Success.
0 Failure. Please see DiscCopy::error.
See also:
Device
CDCopyReadMethod::Enum
CDCopyWriteMethod::Enum
DiscCopyError::Enum
virtual bool_t copyDVD ( Device destinationDevice,
Device sourceDevice,
bool_t  useTemporaryFiles = 1 
) [pure virtual]

Copies a DVD from one device to a blank DVD in another device.

Parameters:
destinationDeviceDevice instance that describes the physical device containing the DVD medium to write the copy image to.
sourceDeviceDevice instance describing the physical device that contains the DVD medium to be copied.
useTemporaryFilesSet this parameter to TRUE to create an image of the source disc and store it in temporary image files before burning it to destination disc (after the burning is complete the temporary image files are deleted). Set it to FALSE to use "On the fly" copying in which case no temporary files will be created but the read and write operations will be simultaneous. The default value for this parameter is TRUE.
Returns:
1 Success.
0 Failure. Please see DiscCopy::error.
Remarks:
The following restrictions apply:

If the source medium is a DVD-RAM, the resulting image could be written on any type of DVD blank.

If the source medium is a DVD+RW, the resulting image could be written on any type of DVD blank. In this case, an image is made of the entire disc (4.37 GB), so it may take some time.

If the source medium is a DVD-ROM, the resulting image could be written on any blank.

If the source medium is a DVD-R, the resulting image could be written on any DVD-R blank, or a DVD-RW blank erased for sequential recording.

If the source medium is a DVD-R DL, the resulting image could be written on a DVD-R DL blank.

If the source medium is a DVD-RW in sequential recording mode, the resulting image could be written on a DVD-RW blank erased for sequential recording, or a DVD-R blank.

If the source medium is a DVD-RW in Restricted Overwrite mode, the resulting image could be written on a blank of the same (DVD-RW RO) type.

If the source medium is a DVD+R, the resulting image could be written on a DVD+R blank.

If the source medium is a DVD+R DL, the resulting image could be written on a DVD+R DL blank.

In any other case the method will return 0 and DiscCopy::error method will report DiscCopyError::IncompatibleMedia value

DiscCopy does not verify whether the target medium has enough space to receive the image data. In such a case the burn process will not be rejected and will proceed until the target device throws an error saying it cannot write on the requested address (DiscCopy::errorDevice will return the device on which the error occurred).

See also:
Device
DiscCopyError::Enum
virtual bool_t createImageFromBD ( const char_t *  imageFile,
Device sourceDevice 
) [pure virtual]

Creates a disc image from a Blu-ray disc.

Parameters:
imageFileFull path to the image file (including the file name and the extension).
sourceDeviceDevice instance describing the physical device that contains the BD medium to be copied
Returns:
1 Success.
0 Failure. Please see DiscCopy::error.
Remarks:
Images from BDs with open sessions cannot be created. In those cases the method returns 0 and DiscCopy::error method will return DiscCopyError::SourceDiscLastSessionOpen value.

Exceptions are BD-RE and BD-R SRM POW media where images are always created.

See also:
Device
DiscCopyError::Enum
virtual bool_t createImageFromCD ( const char_t *  imageFile,
Device sourceDevice,
CDCopyReadMethod::Enum  readMethod = CDCopyReadMethod::FullRaw 
) [pure virtual]

Creates an image from a CD.

Parameters:
imageFileFull path to the image file (including the file name and the extension).
sourceDeviceDevice instance describing the physical device that contains the CD to be copied.
readMethodRead method to be used.
Returns:
1 Success.
0 Failure. Please see DiscCopy::error.
See also:
Device
CDCopyReadMethod::Enum
DiscCopyError::Enum
virtual bool_t createImageFromDVD ( const char_t *  imageFile,
Device sourceDevice 
) [pure virtual]

Creates an image from a DVD.

Parameters:
imageFileFull path to the image file (including the file name and the extension).
sourceDeviceDevice instance describing the physical device that contains the DVD medium to be copied
Returns:
1 Success.
0 Failure. Please see DiscCopy::error.
Remarks:
Images from DVDs with open sessions/tracks cannot be created. In those cases the method returns 0 and DiscCopy::error method will return DiscCopyError::SourceDiscLastSessionOpen value.

Exceptions are DVD+RW and DVD RAM media where images are always created.

See also:
Device
DiscCopyError::Enum
virtual const ErrorInfo* error ( ) const [pure virtual]

Gets error information about the last operation.

Returns:
A pointer to an ErrorInfo object.
virtual Device* errorDevice ( ) const [pure virtual]

Gets the device on which the error occurred.

Remarks:
The client code can inspect whether this is the source or the destination device and can get more error details by calling Device::error().
Returns:
A pointer to
virtual void setCallback ( DiscCopyCallback callback) [pure virtual]

Sets a callback object for progress reporting.

Parameters:
callbackA pointer to an object that implements DiscCopyCallback interface.
virtual void setDeleteImageAfterBurn ( bool_t  deleteSourceImage) [pure virtual]

Instructs DiscCopy to delete the source image files after the image is burned on the target disc.

The default behavior is to keep the source image files.

Parameters:
deleteSourceImageSpecifies whether to delete the image after it is written to a disc.
Remarks:
This setting is ignored during burning simulation (see DiscCopy::setSimulateBurn method).
virtual void setSimulateBurn ( bool_t  simulate) [pure virtual]

Indicates that simulation should be performed instead of real recording.

Parameters:
simulateIf TRUE the device is instructed to write in simulation mode.
virtual bool_t writeImageToBD ( Device destinationDevice,
const char_t *  imageFile 
) [pure virtual]

Writes a disc image to a blank Blu-ray disc.

Parameters:
destinationDeviceDevice instance that describes the physical device containing the BD medium to write the image to
imageFileFull path to the image file (including the file name and the extension) of the image file to be written
Returns:
1 Success.
0 Failure. Please see DiscCopy::error.
Remarks:
The following restrictions apply:

If the source medium is a BD-RE, the resulting image could be written on any type of blank BD. In this case, an image is made of the entire disc, so it may take some time.

If the source medium is a BD-ROM, the resulting image could be written on any type of blank BD.

If the source medium is a BD-R in Sequential Recording Mode (SRM), the resulting image could be written on blank BD-R in Sequential Recording Mode (SRM) only.

If the source medium is a BD-R in Sequential Recording Mode (SRM) formatted for Pseudo Overwrite (POW), the resulting image could be written on blank BD-R in Sequential Recording Mode (SRM) formatted for Pseudo Overwrite (POW) only.

In any other case the method will return 0 and DiscCopy::error method will report DiscCopyError::IncompatibleMedia value

NOTE: A blank BD-R in Sequential Recording Mode (SRM) can be formatted for Pseudo Overwrite (POW) using Device::FormatBD with BDFormatType::BDFull and BDFormatSubType::BDRSrmPow as parameters.

See also:
Device
DiscCopyError::Enum
virtual bool_t writeImageToCD ( Device destinationDevice,
const char_t *  imageFile,
CDCopyWriteMethod::Enum  writeMethod = CDCopyWriteMethod::FullRaw 
) [pure virtual]

Writes image to blank CD.

Remarks:
The following restrictions apply:

If the source medium is a CD-R, the resulting image could be written on any type of CD blank.

If the source medium is a CD-RW, the resulting image could be written on any type of CD blank.

IMPORTANT NOTE: DiscCopy does not verify whether the target medium has enough space to receive the image data. In such a case the burn process will not be rejected and will proceed until the target device throws an error saying it cannot write on the requested address (the DiscCopy::errorDevice will return the device on which the error occurred).

Parameters:
destinationDeviceDevice instance that describes the physical device containing the CD medium to write the image to
imageFileFull path to the image file (including the file name and the extension) of the image file to be written
writeMethodA CDCopyWriteMethod::Enum constant defining how the image will be written on the target CD
Returns:
1 Success.
0 Failure. Please see DiscCopy::error.
See also:
Device
CDCopyWriteMethod::Enum
DiscCopyError::Enum
virtual bool_t writeImageToDVD ( Device destinationDevice,
const char_t *  imageFile 
) [pure virtual]

Writes image to a blank DVD.

Parameters:
destinationDeviceDevice instance that describes the physical device containing the DVD medium to write the image to
imageFileFull path to the image file (including the file name and the extension) of the image file to be written
Returns:
1 Success.
0 Failure. Please see DiscCopy::error.
Remarks:
The following restrictions apply:

If the source medium is a DVD-RAM, the resulting image could be written on any type of DVD blank.

If the source medium is a DVD+RW, the resulting image could be written on any type of DVD blank. In this case, an image is made of the entire disc (4.37 GB), so it may take some time.

If the source medium is a DVD-ROM, the resulting image could be written on any blank.

If the source medium is a DVD-R, the resulting image could be written on any DVD-R blank, or a DVD-RW blank erased for sequential recording.

If the source medium is a DVD-R DL, the resulting image could be written on a DVD-R DL blank.

If the source medium is a DVD-RW in sequential recording mode, the resulting image could be written on a DVD-RW blank erased for sequential recording, or a DVD-R blank.

If the source medium is a DVD-RW in Restricted Overwrite mode, the resulting image could be written on a blank of the same (DVD-RW RO) type.

If the source medium is a DVD+R, the resulting image could be written on a DVD+R blank.

If the source medium is a DVD+R DL, the resulting image could be written on a DVD+R DL blank.

In any other case the method will return 0 and DiscCopy::error method will report DiscCopyError::IncompatibleMedia value

DiscCopy does not verify whether the target medium has enough space to receive the image data. In such a case the burn process will not be rejected and will proceed until the target device throws an error saying it cannot write on the requested address (DiscCopy::errorDevice will return the device on which the error occurred).

See also:
Device
DiscCopyError::Enum
 All Classes Namespaces Files Functions Variables Enumerations Enumerator