Exemplo n.º 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);
                }
            };
        }
Exemplo n.º 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);
 }