Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        // 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));
 }
Ejemplo n.º 4
0
        public FileData GetFolder(string id)
        {
            FileData data;

            lock (FolderMap)
                FolderMap.TryGetValue(id, out data);

            return(data);
        }
Ejemplo n.º 5
0
 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);
 }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        // 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
        }
Ejemplo n.º 9
0
 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);
 }
Ejemplo n.º 10
0
 public bool IgnoreFile(FolderMap baseMap, string file)
 {
     return(false);
 }
Ejemplo n.º 11
0
        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
        }