Пример #1
0
        public static void CheckForUpdate(string branchName, VersionNumber currentVersion)
        {
            Task.Run(() =>
            {
                try
                {
                    var request = WebRequest.Create("https://fourtf.com/chatterino/version.json");
                    if (AppSettings.IgnoreSystemProxy)
                    {
                        request.Proxy = null;
                    }
                    using (var response = request.GetResponse())
                        using (var stream = response.GetResponseStream())
                        {
                            var parser = new JsonParser();

                            dynamic json     = parser.Parse(stream);
                            dynamic branches = json["branches"];

                            foreach (var branch in branches)
                            {
                                if (branchName == (string)branch["name"])
                                {
                                    VersionNumber onlineVersion = VersionNumber.Parse(branch["version"]);

                                    string url = branch["url"];

                                    if (onlineVersion.IsNewerThan(currentVersion))
                                    {
                                        UpdateFound?.Invoke(null, new UpdateFoundEventArgs(onlineVersion, url));
                                    }

                                    break;
                                }
                            }
                        }
                }
                catch (Exception exc)
                {
                    Console.WriteLine(exc.Log("updates"));
                }
            });
        }
Пример #2
0
 public UpdateFoundEventArgs(VersionNumber version, string url)
 {
     Version = version;
     Url     = url;
 }