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