private bool InitLocalFiles() { long dealtSize = 0; foreach (FH2File fh2File in this.fileIndex) { FH2File localfile = clone(fh2File); string fileName = fh2File.name; string filePath = Path.Combine("..", "..", fh2File.target, fh2File.name); localfile.Client(filePath, rootFolder, this.webRoot); dealtSize += fh2File.size; double Progress = dealtSize / this.totalSize; localFiles.Add(localfile); BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += new DoWorkEventHandler( delegate(object o, DoWorkEventArgs args) { report(Progress); }); worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler( delegate(object o, RunWorkerCompletedEventArgs args) { worker.Dispose(); }); worker.RunWorkerAsync(); } return(true); }
private bool InitFileIndex() { this.totalSize = 0; XmlTextReader reader = new XmlTextReader(this.fileIndexURL); while (reader.Read()) { if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "file")) { if (reader.HasAttributes) { FH2File fh2fileWeb = new FH2File(); fh2fileWeb.name = reader.GetAttribute("name"); fh2fileWeb.target = reader.GetAttribute("target"); fh2fileWeb.source = reader.GetAttribute("source"); fh2fileWeb.size = long.Parse(reader.GetAttribute("size")); this.totalSize += fh2fileWeb.size; fh2fileWeb.checksum = reader.GetAttribute("checksum").ToUpper(); fh2fileWeb.fullPath = Path.Combine(fh2fileWeb.target, fh2fileWeb.name); this.fileIndex.Add(fh2fileWeb); } } } reader.Close(); return(true); }
private bool InitLocalFiles(object sender) { this.localFiles.Clear(); long dealtSize = 0; DirectoryInfo folder = new DirectoryInfo(Application.StartupPath); folder = folder.Parent.Parent; foreach (FH2File fh2File in this.fileIndex) { if (sender != this.parent.CurrentOwner) { Console.WriteLine("Cancel this MD5Check."); return(false); } FH2File localfile = fh2File.Clone(); string fileName = fh2File.name; string filePath = Path.Combine(Path.Combine(folder.FullName, fh2File.target), fh2File.name); localfile.Client(filePath, rootFolder); dealtSize += fh2File.size; double Progress = (double)dealtSize / (double)this.totalSize; localFiles.Add(localfile); Report(Progress); } return(true); }
public FH2File Clone() { FH2File clonedFile = new FH2File(); clonedFile.name = this.name; clonedFile.target = this.target; clonedFile.checksum = this.checksum; clonedFile.fullPath = this.fullPath; return(clonedFile); }
private FH2File clone(FH2File fh2file) { FH2File clonedFile = new FH2File(); clonedFile.name = fh2file.name; clonedFile.target = fh2file.target; clonedFile.checksum = fh2file.checksum; clonedFile.source = fh2file.source; clonedFile.fullPath = fh2file.fullPath; return(clonedFile); }
public bool Compare(FH2File other) { if (this.name != other.name) { return(false); } else if (this.target != other.target) { return(false); } else if (this.size != other.size) { return(false); } else if (this.checksum.ToLower() != other.checksum.ToLower()) { return(false); } else { return(true); } }
private bool InitFileIndex() { if (this.fileIndexURL.Equals(null)) { throw new ContentManagerException(this, "Addon does not have a file index specified!"); } this.fileIndex.Clear(); this.totalSize = 0; XmlTextReader reader = new XmlTextReader(this.fileIndexURL); var test = 0; while (reader.Read()) { if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "file")) { if (reader.HasAttributes) { FH2File fh2fileWeb = new FH2File(); fh2fileWeb.name = reader.GetAttribute("name"); fh2fileWeb.target = reader.GetAttribute("target"); fh2fileWeb.size = long.Parse(reader.GetAttribute("size")); this.totalSize += fh2fileWeb.size; fh2fileWeb.checksum = reader.GetAttribute("checksum").ToUpper(); fh2fileWeb.fullPath = Path.Combine(fh2fileWeb.target, fh2fileWeb.name); this.fileIndex.Add(fh2fileWeb); test++; } } } if (test == 0) { throw new XmlException("File Index has no elements!"); } this.parent.informWorkerSize(this); reader.Close(); return(true); }