Пример #1
0
        //Clear deleted or deleted incoming folders
        private void m_ClearDeletedFiles()
        {
            ArrayList toRemove       = null;
            string    IncomingFolder = String.Join(":", CKernel.Preferences.GetStringArray("SharedFolders")) + ":";

            lock (m_FileList.SyncRoot)
            {
                foreach (CElement Element in m_FileList)
                {
                    string m_CompleteName = Element.File.CompleteName;
                    if ((Element.File.Completed) &&
                        (!File.Exists(m_CompleteName) || (IncomingFolder.IndexOf(Path.GetDirectoryName(m_CompleteName) + ":") == -1)))
                    {
                        if (toRemove == null)
                        {
                            toRemove = new ArrayList();
                        }
                        toRemove.Add(Element);
                    }
                }
            }
            if (toRemove != null)
            {
                foreach (CElement Element in toRemove)
                {
                    //Debug.WriteLine("File deleted from FilesList: "+ Element.File.CompleteName);
                    m_FileList.Remove(Element);
                    CKernel.RemovedSharedFile(Element);
                }
            }
        }