Skip Navigation Links
Skip Navigation LinksHome > ZipArchive > How to Use > API Documentation
CZipSegmCallback Struct Reference

#include <ZipCallback.h>

Inheritance diagram for CZipSegmCallback:
Inheritance graph

Public Types

enum  SegmCodes {
  scVolumeNeededForRead, scVolumeNeededForWrite, scFileNameDuplicated, scCannotSetVolLabel,
  scFileCreationFailure, scFileNotFound
}
 

Public Attributes

int m_iCode
 The reason for calling the callback. It can be one of the SegmCodes values.
 
ZIP_VOLUME_TYPE m_uVolumeNeeded
 The number of the volume needed when reading or writing a segmented archive. Volumes are numbered starting from 1.
 
- Public Attributes inherited from CZipCallback
CZipString m_szExternalFile
 

Additional Inherited Members

- Public Member Functions inherited from CZipCallback
virtual bool Callback (ZIP_SIZE_TYPE uProgress)=0
 

Detailed Description

When you derive from CZipSegmCallback, you can use the derived class as a callback object for:

  • the disk change notification in a spanned archive,
  • notification about the next part being processed in a split archive.

You need to override the CZipActionCallback::Callback method. The value of the uProgress parameter in the callback method has the following meaning:

  • the minimum number of free bytes required on the disk when writing a spanned archive
  • it is set to 0 when reading a spanned archive
  • when writing or reading a split archive it is set to 0 apart for the last volume when it is set to ZIP_SPLIT_LAST_VOLUME

Return false from the callback function to abort the operation: the proper exception will be thrown.

See Also
Segmented Archives: Splitting and Spanning
CZipActionCallback::Callback
CZipArchive::SetSegmCallback

Member Enumeration Documentation

Values indicating the reason for calling the callback.

Enumerator:
scVolumeNeededForRead 

The next volume is needed when reading a segmented archive. The number of the volume is stored in m_uVolumeNeeded.

scVolumeNeededForWrite 

The next volume is needed when writing a segmented archive. The number of the volume is stored in m_uVolumeNeeded.

scFileNameDuplicated 

The file that is used for writing a new volume already exists.

scCannotSetVolLabel 

The disk label could not be set. The disk may be write-protected. It is called only for spanned archives.

scFileCreationFailure 

The archive file could not be created. The disk may be write-protected.

scFileNotFound 

The given volume file was not found when reading a split archive. The number of the volume is stored in m_uVolumeNeeded. It is called only for split archives.

Member Data Documentation

int CZipSegmCallback::m_iCode

The reason for calling the callback. It can be one of the SegmCodes values.

ZIP_VOLUME_TYPE CZipSegmCallback::m_uVolumeNeeded

The number of the volume needed when reading or writing a segmented archive. Volumes are numbered starting from 1.


The documentation for this struct was generated from the following file:
Back To Top Up