Esempio n. 1
0
        public List <AddinFileInfo> GetMissingAddins(AddinFileSystemExtension fs)
        {
            var missing = new List <AddinFileInfo> ();

            if (!fs.DirectoryExists(folder))
            {
                // All deleted
                foreach (AddinFileInfo info in files.Values)
                {
                    if (info.IsAddin)
                    {
                        missing.Add(info);
                    }
                }
                files.Clear();
                return(missing);
            }
            ArrayList toDelete = new ArrayList();

            foreach (AddinFileInfo info in files.Values)
            {
                if (!fs.FileExists(info.File))
                {
                    if (info.IsAddin)
                    {
                        missing.Add(info);
                    }
                    toDelete.Add(info.File);
                }
                else if (info.IsAddin && info.Domain != GetDomain(info.IsRoot))
                {
                    missing.Add(info);
                }
            }
            foreach (string file in toDelete)
            {
                files.Remove(file);
            }

            return(missing);
        }
		public ArrayList GetMissingAddins (AddinFileSystemExtension fs)
		{
			ArrayList missing = new ArrayList ();
			
			if (!fs.DirectoryExists (folder)) {
				// All deleted
				foreach (AddinFileInfo info in files.Values) {
					if (info.IsAddin)
						missing.Add (info);
				}
				files.Clear ();
				return missing;
			}
			ArrayList toDelete = new ArrayList ();
			foreach (AddinFileInfo info in files.Values) {
				if (!fs.FileExists (info.File)) {
					if (info.IsAddin)
						missing.Add (info);
					toDelete.Add (info.File);
				}
				else if (info.IsAddin && info.Domain != GetDomain (info.IsRoot)) {
					missing.Add (info);
				}
			}
			foreach (string file in toDelete)
				files.Remove (file);
				
			return missing;
		}