| // ComHelper.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: <2011-June-13 17:04:06> | |
| // | |
| // ------------------------------------------------------------------ | |
| // | |
| // This module defines a COM Helper class. | |
| // | |
| // Created: Tue, 08 Sep 2009 22:03 | |
| // | |
| using Interop=System.Runtime.InteropServices; | |
| namespace OfficeOpenXml.Packaging.Ionic.Zip | |
| { | |
| /// <summary> | |
| /// This class exposes a set of COM-accessible wrappers for static | |
| /// methods available on the ZipFile class. You don't need this | |
| /// class unless you are using DotNetZip from a COM environment. | |
| /// </summary> | |
| [System.Runtime.InteropServices.GuidAttribute("ebc25cf6-9120-4283-b972-0e5520d0000F")] | |
| [System.Runtime.InteropServices.ComVisible(true)] | |
| #if !NETCF | |
| [System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)] | |
| #endif | |
| internal class ComHelper | |
| { | |
| /// <summary> | |
| /// A wrapper for <see cref="ZipFile.IsZipFile(string)">ZipFile.IsZipFile(string)</see> | |
| /// </summary> | |
| /// <param name="filename">The filename to of the zip file to check.</param> | |
| /// <returns>true if the file contains a valid zip file.</returns> | |
| public bool IsZipFile(string filename) | |
| { | |
| return ZipFile.IsZipFile(filename); | |
| } | |
| /// <summary> | |
| /// A wrapper for <see cref="ZipFile.IsZipFile(string, bool)">ZipFile.IsZipFile(string, bool)</see> | |
| /// </summary> | |
| /// <remarks> | |
| /// We cannot use "overloaded" Method names in COM interop. | |
| /// So, here, we use a unique name. | |
| /// </remarks> | |
| /// <param name="filename">The filename to of the zip file to check.</param> | |
| /// <returns>true if the file contains a valid zip file.</returns> | |
| public bool IsZipFileWithExtract(string filename) | |
| { | |
| return ZipFile.IsZipFile(filename, true); | |
| } | |
| #if !NETCF | |
| /// <summary> | |
| /// A wrapper for <see cref="ZipFile.CheckZip(string)">ZipFile.CheckZip(string)</see> | |
| /// </summary> | |
| /// <param name="filename">The filename to of the zip file to check.</param> | |
| /// | |
| /// <returns>true if the named zip file checks OK. Otherwise, false. </returns> | |
| public bool CheckZip(string filename) | |
| { | |
| return ZipFile.CheckZip(filename); | |
| } | |
| /// <summary> | |
| /// A COM-friendly wrapper for the static method <see cref="ZipFile.CheckZipPassword(string,string)"/>. | |
| /// </summary> | |
| /// | |
| /// <param name="filename">The filename to of the zip file to check.</param> | |
| /// | |
| /// <param name="password">The password to check.</param> | |
| /// | |
| /// <returns>true if the named zip file checks OK. Otherwise, false. </returns> | |
| public bool CheckZipPassword(string filename, string password) | |
| { | |
| return ZipFile.CheckZipPassword(filename, password); | |
| } | |
| /// <summary> | |
| /// A wrapper for <see cref="ZipFile.FixZipDirectory(string)">ZipFile.FixZipDirectory(string)</see> | |
| /// </summary> | |
| /// <param name="filename">The filename to of the zip file to fix.</param> | |
| public void FixZipDirectory(string filename) | |
| { | |
| ZipFile.FixZipDirectory(filename); | |
| } | |
| #endif | |
| /// <summary> | |
| /// A wrapper for <see cref="ZipFile.LibraryVersion">ZipFile.LibraryVersion</see> | |
| /// </summary> | |
| /// <returns> | |
| /// the version number on the DotNetZip assembly, formatted as a string. | |
| /// </returns> | |
| public string GetZipLibraryVersion() | |
| { | |
| return ZipFile.LibraryVersion.ToString(); | |
| } | |
| } | |
| } |