Пример #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);
                };
           
        }
Пример #2
0
 private void AsynMessageRecived(object sender, P3bbleMessageReceivedEventArgs e)
 {
     if (e.Message.Endpoint == P3bbleEndpoint.PhoneVersion)
     {
         _prot.WriteMessage(new PhoneVersionMessage());
     }
     else if (e.Message.Endpoint == P3bbleEndpoint.Version)
     {
         VersionMessage message = e.Message as VersionMessage;
         FirmwareVersion = message.Firmware;
         RecoveryFirmwareVersion = message.RecoveryFirmware;
     }
     Debug.WriteLine(e.Message.Endpoint);
 }