Exemple #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);
                }
            };
        }
 public CheckForNewFirmwareVersionEventArgs(bool newVersionAvail, P3bbleFirmwareLatest newVersionInfo)
 {
     NewVersionAvailable = newVersionAvail;
     NewVersionInfo      = newVersionInfo;
 }