private void RemoveFiles(object obj) { try { FileData root = (FileData)obj; // Folders foreach (FileData folder in root.GetFolders()) { lock (FolderMap) FolderMap.Remove(folder.Id); RemoveFiles(folder); } // Files lock (FileMap) { foreach (FileData file in root.GetFiles()) { FileMap.Remove(file.Id); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } OnFile(); }
// Files private void AddFiles(object obj) { try { FileData root = (FileData)obj; // Folders foreach (FileData folder in root.GetFolders()) { lock (FolderMap) FolderMap.Add(folder.Id, folder); AddFiles(folder); } // Files foreach (FileData file in root.GetFiles()) { // Do not verify if the file is accessible lock (FileMap) FileMap.Add(file.Id, file); } } catch (Exception ex) { Console.WriteLine(ex.Message); } OnFile(); }
public bool NeedToCopy(FolderMap baseMap, string aSource, string aTarget) { if (!_fileSystem.File.Exists(aTarget)) { Logger.Debug($"NeedToCopyWithConfirmation: File {aTarget} not found! Need to copy."); return(true); } return(_confirmationChecker.GetConfirmation(aTarget)); }
public FileData GetFolder(string id) { FileData data; lock (FolderMap) FolderMap.TryGetValue(id, out data); return(data); }
public bool NeedToCopy(FolderMap baseMap, string aSource, string aTarget) { Logger.Debug($"aSource={aSource}, aTarget={aTarget}"); Logger.Debug($"TypeOf(_fileSystem)={_fileSystem.GetType()} "); if (!_fileSystem.File.Exists(aTarget)) { Logger.Debug($"File {aTarget} not found! Need to copy."); return true; } else if (_fileComparer.IsSameFile(new FileInfo(aSource), new FileInfo(aTarget))) { Logger.Debug($"File {aTarget} equal to {aSource}! Skip file!"); return false; } return _confirmationChecker.GetConfirmation(aTarget); }
public void RemoveFolder(FileData data) { FolderMap.Remove(data.Id); SharedFolders.Remove(data); try { Thread thread = new Thread(new ParameterizedThreadStart(RemoveFiles)) { Priority = ThreadPriority.BelowNormal, IsBackground = true }; thread.Start(data); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
// Interface public override void Clear() { base.Clear(); Name = Default.Name; Group.Clear(); Router.Clear(); DownloadFolder = FileUtil.GetDownloadFolder(); lock (SharedFolders) SharedFolders.Clear(); lock (FileMap) FileMap.Clear(); lock (FolderMap) FolderMap.Clear(); }
private UInt32 ReadBackCheck() { UInt32 ret = LibErrorCode.IDS_ERR_SUCCESSFUL; #if readback return(LibErrorCode.IDS_ERR_DEM_BUF_CHECK_FAIL); #else SetWorkMode(ElementDefine.EFUSE_MODE.PROGRAM); byte pval = 0; for (byte badd = (byte)ElementDefine.EF_USR_OFFSET; badd <= (byte)ElementDefine.EF_USR_TOP; badd++) { ret = ReadByte((byte)(badd), ref pval); if (pval != EFUSEUSRbuf[badd - ElementDefine.EF_USR_OFFSET]) { FolderMap.WriteFile("Read back check, address: 0x" + (badd).ToString("X2") + "\torigi value: 0x" + EFUSEUSRbuf[badd - ElementDefine.EF_USR_OFFSET].ToString("X2") + "\tread value: 0x" + pval.ToString("X2")); return(LibErrorCode.IDS_ERR_DEM_BUF_CHECK_FAIL); } } return(ret); #endif }
public bool IgnoreFile(FolderMap baseMap, string file) { try { if (_exclusiveExt.Length == 0) { return(false); } string fileExtension = _fileSystem.File.GetExtension(file).ToLower(); if (fileExtension.Length > 0 && _exclusiveExt.Contains(fileExtension.Substring(1))) { return(true); } } catch (UnauthorizedAccessException ex) { _exceptionHandler.HandleException("Copy File: " + file + " failed(" + ex.Message + ")", ex); } catch (IOException ex) { _exceptionHandler.HandleException("Copy File: " + file + " failed(" + ex.Message + ")", ex); } return(false); }
public bool IgnoreFile(FolderMap baseMap, string file) { return(false); }
public void Execute(HttpRequest httpRequest, JsonPacket jsonRequest) { Clear(); // Connect NetworkChannel channel = new NetworkChannel(Connection); // Request JsonBrowseRequestMessage jsonRequestMessage = JsonBrowseRequestMessage.Parse(jsonRequest.Message); JsonBrowseRequestData jsonRequestData = JsonBrowseRequestData.Parse(Group.Decrypt(jsonRequest.Data)); JsonFile jsonFolder = (jsonRequestData != null) ? jsonRequestData.Folder : null; // Data List <JsonFile> folders = new List <JsonFile>(); List <JsonFile> files = new List <JsonFile>(); if (jsonFolder != null) { FileComponent file = FolderMap.Get(jsonFolder.Id); if (file == null) { channel.SendNotFound(); return; } // Folders foreach (FileComponent f in file.Folders) { JsonFile json = (JsonFile)f; folders.Add(json); } // Files foreach (FileComponent f in file.Files) { JsonFile json = (JsonFile)f; files.Add(json); } } else { // Folders FolderListComponent shared = Entity.Get <FolderListComponent>(); foreach (FileComponent f in shared) { JsonFile json = (JsonFile)f; folders.Add(json); } } // Response JsonBrowseResponseMessage jsonResponseMessage = new JsonBrowseResponseMessage(); JsonBrowseResponseData jsonResponseData = new JsonBrowseResponseData() { Files = files, Folders = folders }; JsonPacket jsonResponse = new JsonPacket(jsonResponseMessage, Group.Encrypt(jsonResponseData)); HttpResponse httpResponse = new HttpResponse() { Data = Session.Encrypt(jsonResponse) }; channel.Send(httpResponse); #if DEBUG Log.Add(httpRequest, httpResponse, jsonRequest, jsonResponse); #endif }