| // 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, | |
| } | |
| } |