PrimoBurner(tm) for C++  4.7
CD, DVD and Blu-ray Software Development Kit
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
DiscArchiveFooterPolicy Class Reference

Implement this interface to provide information to DiscArchive for managing the footer size. More...

#include <PrimoBurnerAPI.h>

Inherits Reference.

Public Member Functions

virtual bool_t add (DataFile *file, int64_t maxIncrement)
 This method is called during DiscArchive::prepareLayout(). More...
 
int32_t release () const
 Simple implementation of primo::Reference::release. More...
 
int32_t retain () const
 Simple implementation of primo::Reference::retain. More...
 
int32_t retainCount () const
 Simple implementation of primo::Reference::retainCount. More...
 
virtual int64_t size ()
 This method is called when DiscArchive needs to know footer size during DiscArchive::prepareLayout(). More...
 

Detailed Description

Implement this interface to provide information to DiscArchive for managing the footer size.

See Also
DiscArchive::setFooterPolicy
DiscArchive::footerPolicy

Member Function Documentation

virtual bool_t add ( DataFile file,
int64_t  maxIncrement 
)
virtual

This method is called during DiscArchive::prepareLayout().

Parameters
file[in] The file that is to be added to the layout.
maxIncrement[in] The maximum space available for the footer to grow.
Remarks
It is possible that each file added to the layout will result in increase of the footer size. Use this method to reflect such changes. This method is called by DiscArchive to inform the client code which file is to be added to the layout and how much free space on the target disc could be used for the footer size to grow (maxIncrement).
Returns
TRUE if the specified file should be added to the layout by DiscArchive, FALSE otherwise.
Return FALSE to exclude a file from the layout currently being constructed (DiscArchive::prepareLayout()). Doing so will also stop the process from traversing other directories apart from those that are in the path of the specified file.
int32_t release ( ) const
virtual

Simple implementation of primo::Reference::release.

Returns
The updated reference count.

Implements Reference.

int32_t retain ( ) const
virtual

Simple implementation of primo::Reference::retain.

Returns
The updated reference count.

Implements Reference.

int32_t retainCount ( ) const
virtual

Simple implementation of primo::Reference::retainCount.

Returns
The current reference count.

Implements Reference.

virtual int64_t size ( )
virtual

This method is called when DiscArchive needs to know footer size during DiscArchive::prepareLayout().

Remarks
Override this method if the footer size changes after each file is added to the layout (DiscLayout). This callback method may be called frequently by DiscArchive. An inefficient implementation may slow down the creation of the layout.
Returns
The current footer size in bytes. Return -1 if the footer size is unknown (cannot be calculated).