Пример #1
0
		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;
			}
		}
Пример #2
0
		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;
			}
		}
Пример #3
0
		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));
				}
			}
		}