| // 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(); |
| } |
| |
| } |
| } |