示例#1
0
        public static void check()
        {
            try
            {
                string apiStringRes = tools.GET(url);
                release = JsonConvert.DeserializeObject <GHRelease>(
                    apiStringRes,
                    new JsonSerializerSettings
                {     // allow null values
                    NullValueHandling = NullValueHandling.Ignore
                }
                    );

                string relName = release.name;
                string tagName = release.tag_name;
                List <GHRelease.Asset> assets = release.assets;

                if (relName == null)
                {
                    log.Error("GitHub API Error! release.name is null");
                    return;
                }

                if (tagName == null)
                {
                    log.Error("GitHub API Error! release.tag_name is null");
                    return;
                }

                if (assets == null)
                {
                    log.Error("GitHub API Error! release.assets is null");
                    return;
                }

                releaseFile = release.assets.Find(
                    (file) => file.name == zipFile
                    );

                if (releaseFile != null & tools.isNewerVersion(tagName))
                {
                    log.Info("New version available!");
                    if (onAvailable != null)
                    {
                        onAvailable(null, new UpdateEventArgs(Autoupdate.release));
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex, "Error while checking update");
            }
        }
示例#2
0
 public UpdateEventArgs(GHRelease release)
 {
     this.release = release;
 }