public override AbstractJob GetNextJob() { if (Core.State == CoreState.ShuttingDown) { Interrupted = true; return(null); } if (_contactEnumerator == null || !_contactEnumerator.MoveNext()) { return(null); } if (Core.ProgressWindow != null) { if (Environment.TickCount - _lastProgressUpdate > 500 && _db.ContactCount > 0) { Core.ProgressWindow.UpdateProgress(_contactIndex * 100 / _db.ContactCount, "Importing Miranda database...", null); _lastProgressUpdate = Environment.TickCount; } } DelegateJob job = new DelegateJob(new ImportContactDelegate(ImportContact), new[] { _contactEnumerator.Current, false }); _contactIndex++; return(job); }
private AsyncUserJob(DelegateJob callback, string title) : base(title) { thread = new Thread(delegate() { callback(); Finish(); }); CanCancel = true; CancelRequested += delegate { thread.Abort(); Finish(); }; SetResources(Resource.Cpu); }
private AsyncUserJob(DelegateJob callback, string title) : base(title) { thread = new Thread(delegate() { callback(); Finish(); }); CanCancel = true; CancelRequested += delegate { thread.Abort(); Finish(); }; SetResources(Resource.Cpu); }
internal TextIndexManager() : base(false) { _processPendingDocsDelegate = new DelegateJob("Indexing documents", new MethodInvoker(ProcessPendingDocs), new object[] {}); if (Core.ResourceStore.PropTypes.Exist("QueuedForIndexing")) { Core.ResourceStore.PropTypes.Delete(Core.ResourceStore.PropTypes["QueuedForIndexing"].Id); } _statusWriter = Core.UIManager.GetStatusWriter(typeof(FullTextIndexer), StatusPane.UI); _isJobTraceSuppressed = Core.SettingStore.ReadBool("TextIndexing", "SuppressJobTraces", false); _textIndexer = new FullTextIndexer(); _textIndexer.IndexLoaded += IndexLoadedNotification; Reenterable = false; ThreadName = "TextIndex AsyncProcessor"; ThreadPriority = System.Threading.ThreadPriority.BelowNormal; ThreadStarted += TextIndexProcessor_ThreadStarted; Core.PluginLoader.RegisterResourceTextProvider(null, new AnnotationTextIndexProvider()); Core.PluginLoader.RegisterResourceTextProvider(null, new TitleTextIndexProvider()); // Register predefined search providers CurrentSearchProvider = new OmeaGlobalSearchProvider(); RegisterSearchProvider(CurrentSearchProvider, "Omea Search", _cStandardProvidersGroupName); RegisterSearchProvider(new OmeaQuickSearchProvider(), "Local Search", _cStandardProvidersGroupName); DefragmentIndexJob._textIndexManager = IndexingJob._textIndexManager = this; SetupDefragmentationQueue(); _switchToIdleJob = new SwitchToIdleModeJob(this); QueueSwitchToIdleModeJob(); Core.UIManager.RegisterIndicatorLight("Text Index Manager", this, 30, MainFrame.LoadIconFromAssembly("textindex_idle.ico"), MainFrame.LoadIconFromAssembly("textindex_busy.ico"), MainFrame.LoadIconFromAssembly("textindex_stuck.ico")); }
public static void Create(DelegateJob callback, string title) { var job = new AsyncUserJob(callback, title); job.Register(); }
public static void Create(DelegateJob callback, string title) { var job = new AsyncUserJob(callback, title); job.Register(); }
public void JobThread(jobQ thejob) { DelegateJob delJob= new DelegateJob(DoOneJob); AsyncCallback callBackWhenDone = new AsyncCallback(this.EndJob); delJob.BeginInvoke(thejob,callBackWhenDone,null); }