private void AddFile(CFile file) { if (!m_Contains(file.FileHash)) { CElement Element = new CElement(); Element.File = file; Element.Statistics = new CFileStatistics(); m_FileList.Add(Element); if (((file.FileStatus == Protocol.FileState.Ready) || (Element.File.FileStatus == Protocol.FileState.Completing)) && (!file.Completed)) { Element.SourcesList = new CSourcesList(Element); Element.Comments = new CedonkeyComments(Element); } if (!file.Completed) { CKernel.NewFile(Element); } else { CKernel.NewSharedFile(Element); } } else { CLog.Log(Constants.Log.Notify, "FIL_DUP", CKernel.HashToString(file.FileHash)); file = null; } }
public void EmptyFileToSharedFile(CFile file) { CElement Element = this[file.FileHash]; if (Element != null) { CKernel.NewSharedFile(Element); } //TODO publish the file on the conected server if (CKernel.ServersList.ActiveServer != null) { CKernel.ServersList.ActiveServer.PublishSharedFile(Element); } }
private bool m_LoadFilesFromFolder(string folder /*,bool refreshing*/) { if (!Directory.Exists(folder)) { return(false); } string [] ficheros = Directory.GetFiles(folder); DateTime date; string name; if (m_EdonkeyHash == null) { m_EdonkeyHash = new CHash(); } foreach (string file in ficheros) { // 0 Kb file are ignored, avoid a crash FileInfo filInfo = new FileInfo(file); if ((filInfo.Length == 0) || ((filInfo.Attributes & (FileAttributes.Hidden | FileAttributes.System)) != 0)) { continue; } date = File.GetLastWriteTime(file).ToUniversalTime(); name = Path.GetFileName(file); CKnownFileAttributes Atributos; if ((Atributos = m_IsKnown(name, date)) != null) { //if (refreshing) continue; if (!m_Contains(Atributos.FileHash)) { CElement Element = new CElement(); Element.File = new CFile(Atributos.FileHash, Atributos.Date, folder, name, Atributos.Size, Atributos.Priority, Atributos.Permisions, Atributos.HashSet, Atributos.Comment, Atributos.Rating); Element.SourcesList = null; Element.Statistics = new CFileStatistics(); this.m_FileList.Add(Element); CKernel.NewSharedFile(Element); } //if (!m_Contains(Atributos.FileHash))this.m_FileList.Add(Element); } else //new file { m_EdonkeyHash.AddFile(file); } } return(true); }