public void CheckUpdates (IProgressMonitor monitor, bool automatic) { updateMonitor = monitor; try { if (UpdateService.UpdateLevel == UpdateLevel.Test) Runtime.AddinSetupService.RegisterMainRepository (UpdateLevel.Test, true); using (ProgressStatusMonitor pm = new ProgressStatusMonitor (monitor)) { Runtime.AddinSetupService.Repositories.UpdateAllRepositories (pm); updates = Runtime.AddinSetupService.Repositories.GetAvailableUpdates (); if (updates.Length > 0) DispatchService.GuiDispatch (new MessageHandler (WarnAvailableUpdates)); } } finally { updateMonitor = null; } }
public async Task CheckUpdates (ProgressMonitor monitor, bool automatic) { updateMonitor = monitor; try { if (UpdateService.UpdateLevel == UpdateLevel.Test) Runtime.AddinSetupService.RegisterMainRepository (UpdateLevel.Test, true); currentTask = Task.Run (delegate { using (ProgressStatusMonitor pm = new ProgressStatusMonitor (monitor)) { Runtime.AddinSetupService.Repositories.UpdateAllRepositories (pm); updates = Runtime.AddinSetupService.Repositories.GetAvailableUpdates (); } }); await currentTask; if (updates.Length > 0) WarnAvailableUpdates (); } finally { updateMonitor = null; currentTask = null; } }
void UpdateAddins () { PropertyService.Set ("MonoDevelop.Ide.AddinUpdater.LastCheck", DateTime.Now); using (UpdateMonitor) { using (ProgressStatusMonitor pm = new ProgressStatusMonitor (UpdateMonitor)) { Runtime.AddinSetupService.Repositories.UpdateAllRepositories (pm); updates = Runtime.AddinSetupService.Repositories.GetAvailableUpdates (); if (updates.Length > 0) DispatchService.GuiDispatch (new MessageHandler (WarnAvailableUpdates)); } } }