MonoDevelop.VersionControl.Repository.AddQuery C# (CSharp) Méthode

AddQuery() static private méthode

static private AddQuery ( object query ) : void
query object
Résultat void
		void AddQuery (object query)
		{
			lock (queryLock) {
				if (query is VersionInfoQuery) {
					VersionInfoQuery vi = (VersionInfoQuery)query;
					vi.Paths.RemoveAll (p => filesInQueryQueue.Contains (p) || directoriesInQueryQueue.Contains (p.ParentDirectory));
					if (vi.Paths.Count == 0)
						return;
					filesInQueryQueue.UnionWith (vi.Paths);
					fileQueryQueue.Enqueue (vi);
					//	Console.WriteLine ("GetVersionInfo AddQuery " + string.Join (", ", vi.Paths.Select (p => p.FullPath)));
				} else if (query is RecursiveDirectoryInfoQuery) {
					var di = (RecursiveDirectoryInfoQuery)query;
					if (!recursiveDirectoriesInQueryQueue.Add (di.Directory))
						return;
					recursiveDirectoryQueryQueue.Enqueue (di);
				} else if (query is DirectoryInfoQuery) {
					DirectoryInfoQuery di = (DirectoryInfoQuery)query;
					if (!directoriesInQueryQueue.Add (di.Directory))
						return;
					directoryQueryQueue.Enqueue (di);
					//	Console.WriteLine ("GetDirectoryVersionInfo AddQuery " + ((DirectoryInfoQuery)query).Directory);
				}
				if (!queryRunning) {
					queryRunning = true;
					ThreadPool.QueueUserWorkItem (RunQueries);
				}
			}
		}