public override void Start(Task parentTask) { base.Start(parentTask); BackupTask parentBackupTask = (BackupTask)parentTask; var fileList = Directory.GetFiles(m_steamDir, "*.*", SearchOption.AllDirectories); try { m_wrapper = new SevenZipWrapper(m_backupDir, false); m_wrapper.Compressing += Working; m_wrapper.FileCompressionStarted += Started; m_wrapper.CompressionFinished += Finished; if (parentBackupTask.m_useLzma2) { m_wrapper.UseLzma2Compression = true; m_wrapper.MultithreadingNumThreads = parentBackupTask.m_lzma2Threads; } int compressionLevel; switch (parentBackupTask.m_compLevel) { case 2: compressionLevel = 3; break; case 3: compressionLevel = 5; break; case 4: compressionLevel = 7; break; case 5: compressionLevel = 9; break; default: compressionLevel = parentBackupTask.m_compLevel; break; } m_wrapper.CompressionLevel = compressionLevel; m_wrapper.UseMultithreading = true; m_wrapper.CompressFiles(Utilities.UpDirLvl(m_steamDir), fileList); m_wrapper.Dispose(false); } catch (Exception ex) { ErrorList.Add(new ErrorItem(ex.Message, this, ex.StackTrace)); } }
public override void Start(Task parentTask) { base.Start(parentTask); try { m_wrapper = new SevenZipWrapper(m_backupDir, true); m_wrapper.Extracting += Working; m_wrapper.FileExtractionStarted += Started; m_wrapper.ExtractionFinished += Finished; m_wrapper.DecompressFileArchive(m_steamDir); m_wrapper.Dispose(true); } catch (Exception ex) { ErrorList.Add(new ErrorItem(ex.Message, this, ex.StackTrace)); } }