Пример #1
0
        public void CheckForNewFirmwareAsync(P3bbleFirmwareVersion version, bool useNightlyBuild = false)
        {
            string url = version.GetFirmwareServerUrl(useNightlyBuild);

            WebClient wc = new WebClient();
            wc.DownloadStringAsync(new Uri(url));
            wc.DownloadStringCompleted += (sender, e) =>
                {
                    byte[] byteArray = Encoding.UTF8.GetBytes(e.Result);
                    MemoryStream stream = new MemoryStream(byteArray);
                    var serializer = new DataContractJsonSerializer(typeof(P3bbleFirmwareLatest));


                    P3bbleFirmwareLatest info = serializer.ReadObject(stream) as P3bbleFirmwareLatest;
                    stream.Close();
                    CheckForNewFirmwareVersionEventArgs eventArgs = new CheckForNewFirmwareVersionEventArgs(false, null);
                    if (Util.IsNewerVersionAvailable(FirmwareVersion.Version, info.Normal.FriendlyVersion))
                    {
                        eventArgs = new CheckForNewFirmwareVersionEventArgs(true, info);
                    }

                    if (CheckForNewFirmwareCompleted != null)
                        CheckForNewFirmwareCompleted(this, eventArgs);
                };
           
        }