OpenBve.formMain.checkForUpdate C# (CSharp) Méthode

checkForUpdate() private méthode

private checkForUpdate ( ) : void
Résultat void
		private void checkForUpdate()
		{
			string xmlURL = "http://openbve-project.net/version.xml";
			HttpWebRequest hwRequest = (HttpWebRequest)WebRequest.Create(xmlURL);
			hwRequest.Timeout = 5000;
			HttpWebResponse hwResponse = null;
			XmlTextReader reader = null;
			string url = null;
			string date = null;
			Version newVersion = new Version();
			try
			{
				hwResponse = (HttpWebResponse)hwRequest.GetResponse();
				reader = new XmlTextReader(hwResponse.GetResponseStream());
				reader.MoveToContent();
				string elementName = "";
				if ((reader.NodeType == XmlNodeType.Element) &&
					(reader.Name == "openBVE"))
				{
					while (reader.Read())
					{
						if (reader.NodeType == XmlNodeType.Element)
							elementName = reader.Name.ToLowerInvariant();
						else
						{
							if ((reader.NodeType == XmlNodeType.Text) && (reader.HasValue))
							{
								switch (elementName)
								{
									case "version":
										newVersion = new Version(reader.Value);
										break;
									case "url":
										url = reader.Value;
										break;
									case "date":
										date = reader.Value;
										break;
								}
							}
						}
					}
				}

			}
			finally
			{
				if (reader != null) reader.Close();
				if (hwResponse != null) hwResponse.Close();
			}
			Version curVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
			bool newerVersion = curVersion.CompareTo(newVersion) < 0;
			if (url == null)
			{
				//The internet connection is broken.....
				MessageBox.Show(Interface.GetInterfaceString("panel_updates_invalid"));
				return;
			}
			if (newerVersion)
			{
				string question = Interface.GetInterfaceString("panel_updates_new");
				question = question.Replace("[version]", newVersion.ToString());
				question = question.Replace("[date]", date);
				if (DialogResult.OK == MessageBox.Show(this, question, Interface.GetInterfaceString("panel_updates"), MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
				{
					System.Diagnostics.Process.Start(url);
				}
			}
			else
			{
				MessageBox.Show(Interface.GetInterfaceString("panel_updates_old"));
			}
		}
formMain