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

Provides a way for recording all or a portion of DiscArchive content on a single disc. More...

#include <PrimoBurner.h>

Inherits Reference.

List of all members.

Public Member Functions

virtual DiscLayoutCallbackcallback () const =0
 Gets the current callback set in DiscArchive.
virtual bool_t close ()=0
 Finalizes the write operations.
virtual DataFilecontent () const =0
 Gets the layout that will be written on the target disc.
virtual DataFilecontentOnDisc () const =0
 Gets the description of the layout already present on the target disc before the current layout is written to it.
virtual Devicedevice (void) const =0
 Gets the Device object which should be used for burning.
virtual const ErrorInfoerror () const =0
 Gets error information about the last operation.
virtual DataFilefooter () const =0
 Gets the footer layout to be recorded after the content layout is written on disc.
virtual int32_t imageSize () const =0
 Gets the number of blocks needed on the target disc to write the content and the footer.
virtual int32_t mediaFreeSpace () const =0
 Gets the available space in blocks on the target disc before calling any of the write methods.
virtual bool_t open ()=0
 Prepares the DiscLayout object for recording the selected content and footer to the target disc.
virtual int32_t sessionStartAddress () const =0
 Sets the address at which content recording will begin on the target disc.
virtual void setCallback (DiscLayoutCallback *callback)=0
 Sets a callback object to receive notifications from DiscArchive.
virtual void setDevice (Device *device)=0
 Sets a Device object which should be used for burning.
virtual void setFooter (DataFile *footer)=0
 Sets the footer layout to be recorded after the content layout is written on disc.
virtual void setSessionStartAddress (int32_t address)=0
 Sets the address at which content recording will begin on the target disc.
virtual void setVolumeLabel (const char_t *volumeLabel)=0
 Sets the image volume label.
virtual const char_t * volumeLabel () const =0
 Gets the volume label of the data image.
virtual bool_t writeContent ()=0
 Writes the selected content on the target disc.
virtual bool_t writeFileSystem (bool_t dismountVolume=0)=0
 Writes the file system describing the content of the disc.
virtual bool_t writeFooter ()=0
 Writes the footer on the target disc.

Detailed Description

Provides a way for recording all or a portion of DiscArchive content on a single disc.

Remarks:
A DiscLayout object may be obtained only by calling DiscArchive::prepareLayout(). Once obtained the DiscLayout is responsible for writing its content and footer on the target disc, as well as the file system that describes the recorded content and footer.

See the example in DiscArchive for a simple demonstration of how to use DiscArchive and DiscLayout together.


Member Function Documentation

virtual DiscLayoutCallback* callback ( ) const [pure virtual]

Gets the current callback set in DiscArchive.

Returns:
The callback previously set by setCallback or NULL if no callback is set.
See also:
setCallback
virtual bool_t close ( ) [pure virtual]

Finalizes the write operations.

Remarks:
This method must be called after writeFileSystem() to complete the write sequence.
Returns:
TRUE if the operation is successful, FALSE otherwise.
See also:
writeFileSystem
open
virtual DataFile* content ( ) const [pure virtual]

Gets the layout that will be written on the target disc.

Returns:
A pointer to a DataFile that describes the content layout to be written.
See also:
DiscArchive::content
virtual DataFile* contentOnDisc ( ) const [pure virtual]

Gets the description of the layout already present on the target disc before the current layout is written to it.

Returns:
A pointer to a DataFile that describes the existing layout on the disc.
virtual Device* device ( void  ) const [pure virtual]

Gets the Device object which should be used for burning.

Returns:
A pointer to a Device object or NULL if no device is set.
See also:
setDevice
virtual const ErrorInfo* error ( ) const [pure virtual]

Gets error information about the last operation.

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

Gets the footer layout to be recorded after the content layout is written on disc.

Remarks:
When a DiscLayout object is created using DiscArchive.prepareLayout(), its footer is a copy of the footer defined originally for the DiscArchive object. It is possible to set a different footer for each DiscLayout object.
Returns:
A pointer to a DataFile object that describes the footer layout.
See also:
footer
virtual int32_t imageSize ( ) const [pure virtual]

Gets the number of blocks needed on the target disc to write the content and the footer.

Remarks:
This method should be used after the DiscLayout::open(), otherwise it will return 0.
Returns:
The number of blocks needed to write the content and the footer
0 if the DiscLayout is not opened.
See also:
open
virtual int32_t mediaFreeSpace ( ) const [pure virtual]

Gets the available space in blocks on the target disc before calling any of the write methods.

Remarks:
This method should be used after the DiscLayout::open(), otherwise it will return 0.
Returns:
The number of available blocks on the target disc.
0 if the DiscLayout is not opened.
See also:
open
virtual bool_t open ( ) [pure virtual]

Prepares the DiscLayout object for recording the selected content and footer to the target disc.

Remarks:
This method must be called before writeContent(), writeFooter() and writeFileSystem().
Returns:
TRUE The operation is succeeded.
FALSE The operation failed. Check the error() method.
See also:
writeContent
writeFooter
writeFileSystem
close
virtual int32_t sessionStartAddress ( ) const [pure virtual]

Sets the address at which content recording will begin on the target disc.

Returns:
LBA
virtual void setCallback ( DiscLayoutCallback callback) [pure virtual]

Sets a callback object to receive notifications from DiscArchive.

Parameters:
callbackA pointer to an object that implements the DiscArchiveCallback interface.
See also:
callback
virtual void setDevice ( Device device) [pure virtual]

Sets a Device object which should be used for burning.

Parameters:
deviceA pointer to a Device object. The device is retained by AudioCD.
See also:
device
virtual void setFooter ( DataFile footer) [pure virtual]

Sets the footer layout to be recorded after the content layout is written on disc.

Parameters:
footerA pointer to a DataFile object that describes the footer layout. The DataFile object is retained by DiscLayout.
Remarks:
When a DiscLayout object is created using DiscArchive.prepareLayout(), its footer is a copy of the footer defined originally for the DiscArchive object. It is possible to set a different footer for each DiscLayout object.
See also:
footer
virtual void setSessionStartAddress ( int32_t  address) [pure virtual]

Sets the address at which content recording will begin on the target disc.

Parameters:
addressLBA
Remarks:
The session start address may be changed if necessary but this should be done before calling the open() method.
virtual void setVolumeLabel ( const char_t *  volumeLabel) [pure virtual]

Sets the image volume label.

Parameters:
volumeLabelThe maximum length allowed for the volume label is 32 characters. Only capital letters from A to Z, digits from 0 to 9, and the special characters _ (underscore) are allowed.
virtual const char_t* volumeLabel ( ) const [pure virtual]

Gets the volume label of the data image.

Returns:
A null-terminated string
virtual bool_t writeContent ( ) [pure virtual]

Writes the selected content on the target disc.

Returns:
TRUE if the operation is successful, FALSE otherwise.
See also:
content
virtual bool_t writeFileSystem ( bool_t  dismountVolume = 0) [pure virtual]

Writes the file system describing the content of the disc.

Parameters:
dismountVolumeIndicates whether to dismount the volume after the burning. The default value is FALSE.
Remarks:
The file system is automatically determined based on the written content and footer as well as any previously loaded data (from previous recording sessions). This method must be called after the content and the footer are written (writeContent() and writeFooter()).
Returns:
TRUE if the operation is successful, FALSE otherwise.
See also:
content
footer
writeContent
writeFooter
virtual bool_t writeFooter ( ) [pure virtual]

Writes the footer on the target disc.

If no footer is set for the current layout this method has no effect.

Returns:
TRUE The operation is successful, FALSE otherwise.
See also:
footer
setFooter
 All Classes Namespaces Files Functions Variables Enumerations Enumerator