|  | // ZipErrorAction.cs | 
|  | // ------------------------------------------------------------------ | 
|  | // | 
|  | // Copyright (c)  2009 Dino Chiesa | 
|  | // All rights reserved. | 
|  | // | 
|  | // This code module is part of DotNetZip, a zipfile class library. | 
|  | // | 
|  | // ------------------------------------------------------------------ | 
|  | // | 
|  | // This code is licensed under the Microsoft Public License. | 
|  | // See the file License.txt for the license details. | 
|  | // More info on: http://dotnetzip.codeplex.com | 
|  | // | 
|  | // ------------------------------------------------------------------ | 
|  | // | 
|  | // last saved (in emacs): | 
|  | // Time-stamp: <2009-September-01 18:43:20> | 
|  | // | 
|  | // ------------------------------------------------------------------ | 
|  | // | 
|  | // This module defines the ZipErrorAction enum, which provides | 
|  | // an action to take when errors occur when opening or reading | 
|  | // files to be added to a zip file. | 
|  | // | 
|  | // ------------------------------------------------------------------ | 
|  |  | 
|  |  | 
|  | namespace OfficeOpenXml.Packaging.Ionic.Zip | 
|  | { | 
|  | /// <summary> | 
|  | /// An enum providing the options when an error occurs during opening or reading | 
|  | /// of a file or directory that is being saved to a zip file. | 
|  | /// </summary> | 
|  | /// | 
|  | /// <remarks> | 
|  | ///  <para> | 
|  | ///    This enum describes the actions that the library can take when an error occurs | 
|  | ///    opening or reading a file, as it is being saved into a Zip archive. | 
|  | ///  </para> | 
|  | /// | 
|  | ///  <para> | 
|  | ///     In some cases an error will occur when DotNetZip tries to open a file to be | 
|  | ///     added to the zip archive.  In other cases, an error might occur after the | 
|  | ///     file has been successfully opened, while DotNetZip is reading the file. | 
|  | ///  </para> | 
|  | /// | 
|  | ///  <para> | 
|  | ///    The first problem might occur when calling AddDirectory() on a directory | 
|  | ///    that contains a Clipper .dbf file; the file is locked by Clipper and | 
|  | ///    cannot be opened by another process. An example of the second problem is | 
|  | ///    the ERROR_LOCK_VIOLATION that results when a file is opened by another | 
|  | ///    process, but not locked, and a range lock has been taken on the file. | 
|  | ///    Microsoft Outlook takes range locks on .PST files. | 
|  | ///  </para> | 
|  | /// </remarks> | 
|  | internal enum ZipErrorAction | 
|  | { | 
|  | /// <summary> | 
|  | /// Throw an exception when an error occurs while zipping.  This is the default | 
|  | /// behavior.  (For COM clients, this is a 0 (zero).) | 
|  | /// </summary> | 
|  | Throw, | 
|  |  | 
|  | /// <summary> | 
|  | /// When an error occurs during zipping, for example a file cannot be opened, | 
|  | /// skip the file causing the error, and continue zipping.  (For COM clients, | 
|  | /// this is a 1.) | 
|  | /// </summary> | 
|  | Skip, | 
|  |  | 
|  | /// <summary> | 
|  | /// When an error occurs during zipping, for example a file cannot be opened, | 
|  | /// retry the operation that caused the error. Be careful with this option. If | 
|  | /// the error is not temporary, the library will retry forever.  (For COM | 
|  | /// clients, this is a 2.) | 
|  | /// </summary> | 
|  | Retry, | 
|  |  | 
|  | /// <summary> | 
|  | /// When an error occurs, invoke the zipError event.  The event type used is | 
|  | /// <see cref="ZipProgressEventType.Error_Saving"/>.  A typical use of this option: | 
|  | /// a GUI application may wish to pop up a dialog to allow the user to view the | 
|  | /// error that occurred, and choose an appropriate action.  After your | 
|  | /// processing in the error event, if you want to skip the file, set <see | 
|  | /// cref="ZipEntry.ZipErrorAction"/> on the | 
|  | /// <c>ZipProgressEventArgs.CurrentEntry</c> to <c>Skip</c>.  If you want the | 
|  | /// exception to be thrown, set <c>ZipErrorAction</c> on the <c>CurrentEntry</c> | 
|  | /// to <c>Throw</c>.  If you want to cancel the zip, set | 
|  | /// <c>ZipProgressEventArgs.Cancel</c> to true.  Cancelling differs from using | 
|  | /// Skip in that a cancel will not save any further entries, if there are any. | 
|  | /// (For COM clients, the value of this enum is a 3.) | 
|  | /// </summary> | 
|  | InvokeErrorEvent, | 
|  | } | 
|  |  | 
|  | } |