/// <summary> /// Ends a read-only transaction. /// </summary> /// <remarks> /// This takes the archive out of read-only mode, and releases any used resources. /// </remarks> public void EndReadOnlyTransaction() { if (m_szeReadOnlyExtractor != null) { m_szeReadOnlyExtractor.Dispose(); } m_szeReadOnlyExtractor = null; if (!String.IsNullOrEmpty(m_strReadOnlyTempDirectory)) { FileUtil.ForceDelete(m_strReadOnlyTempDirectory); } m_strReadOnlyTempDirectory = null; }
/// <summary> /// Starts a read-only transaction. /// </summary> /// <remarks> /// This puts the archive into read-only mode. /// </remarks> /// <param name="p_futFileUtil">An instance of a <see cref="FileUtil"/> class.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="p_futFileUtil"/> is <c>null</c>.</exception> public void BeginReadOnlyTransaction(FileUtil p_futFileUtil) { if (m_szeReadOnlyExtractor == null) { if (p_futFileUtil == null) { throw new ArgumentNullException("p_futFileUtil"); } m_szeReadOnlyExtractor = GetThreadSafeExtractor(m_strPath); if (m_szeReadOnlyExtractor.IsSolid) { m_szeReadOnlyExtractor.Dispose(); m_szeReadOnlyExtractor = null; m_strReadOnlyTempDirectory = p_futFileUtil.CreateTempDirectory(); using (SevenZipExtractor szeExtractor = Archive.GetExtractor(m_strPath)) { szeExtractor.FileExtractionFinished += new EventHandler <FileInfoEventArgs>(FileExtractionFinished); szeExtractor.ExtractArchive(m_strReadOnlyTempDirectory); } } } }
/// <summary> /// Ends a read-only transaction. /// </summary> /// <remarks> /// This takes the archive out of read-only mode, and releases any used resources. /// </remarks> public void EndReadOnlyTransaction() { if (m_szeReadOnlyExtractor != null) m_szeReadOnlyExtractor.Dispose(); m_szeReadOnlyExtractor = null; if (!String.IsNullOrEmpty(m_strReadOnlyTempDirectory)) FileUtil.ForceDelete(m_strReadOnlyTempDirectory); m_strReadOnlyTempDirectory = null; }
/// <summary> /// Starts a read-only transaction. /// </summary> /// <remarks> /// This puts the archive into read-only mode. /// </remarks> /// <param name="p_futFileUtil">An instance of a <see cref="FileUtil"/> class.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="p_futFileUtil"/> is <c>null</c>.</exception> public void BeginReadOnlyTransaction(FileUtil p_futFileUtil) { if (m_szeReadOnlyExtractor == null) { if (p_futFileUtil == null) throw new ArgumentNullException("p_futFileUtil"); m_szeReadOnlyExtractor = GetThreadSafeExtractor(m_strPath); if (m_szeReadOnlyExtractor.IsSolid) { m_szeReadOnlyExtractor.Dispose(); m_szeReadOnlyExtractor = null; m_strReadOnlyTempDirectory = p_futFileUtil.CreateTempDirectory(); using (SevenZipExtractor szeExtractor = Archive.GetExtractor(m_strPath)) { szeExtractor.FileExtractionFinished += new EventHandler<FileInfoEventArgs>(FileExtractionFinished); szeExtractor.ExtractArchive(m_strReadOnlyTempDirectory); } } } }