private void tox_OnFileControl(object sender, ToxEventArgs.FileControlEventArgs e) { switch (e.Control) { case ToxFileControl.Kill: { _thread.Abort(); _thread.Join(); _stream.Dispose(); break; } case ToxFileControl.Accept: { _stream = new FileStream("file.data", FileMode.Open); _thread = new Thread(Loop); _thread.Start(new FileTransfer() { FriendNumber = e.FriendNumber, FileNumber = e.FileNumber }); break; } } }
private void FileControlReceivedHandler(object sender, ToxEventArgs.FileControlEventArgs e) { Debug.WriteLine("File control received \t friend number: {0}, \t file number: {1}, \t control: {2}", e.FriendNumber, e.FileNumber, e.Control); var transferId = new TransferId(e.FriendNumber, e.FileNumber); if (_transfers.ContainsKey(transferId)) { HandleFileControl(e.Control, transferId); } }
private void tox_OnFileControl(object sender, ToxEventArgs.FileControlEventArgs e) { switch (e.Control) { case ToxFileControl.Kill: case ToxFileControl.Finished: { _stream.Dispose(); break; } } }
private void Tox_OnFileControlReceived(object sender, ToxEventArgs.FileControlEventArgs e) { var transfer = FindTransfer(e.FriendNumber, e.FileNumber); if (transfer != null) { switch (e.Control) { case ToxFileControl.Cancel: { RemoveTransfer(transfer, true); break; } case ToxFileControl.Resume: { if (!transfer.IsPaused) { transfer.Start(); } else { transfer.Resume(); } break; } case ToxFileControl.Pause: { if (!transfer.IsPaused) { transfer.Pause(false); } else { Debugging.Write("Friend tried to pause a transfer that was paused already!"); } break; } } } Debugging.Write(string.Format("Received control: {0} for transfer: {1}. Transfer known?: {2}", e.Control, e.FileNumber, transfer != null)); }
private void FileControlReceivedHandler(object sender, ToxEventArgs.FileControlEventArgs e) { if (IsPlaceholder || !IsThisTransfer(e)) { return; } switch (e.Control) { case ToxFileControl.Cancel: _fileTransferResumer.RemoveTransfer(_friendNumber, _fileNumber); State = FileTransferState.Cancelled; return; case ToxFileControl.Pause: TryPauseTransfer(); return; case ToxFileControl.Resume: TryResumeTransfer(); return; } }
private void Tox_OnFileControlReceived(object sender, ToxEventArgs.FileControlEventArgs e) { if (e.FileNumber != ViewModel.ID) { return; } switch (e.Control) { case ToxFileControl.Cancel: ViewModel.Status = TransferStatus.Cancelled; Dispose(); break; case ToxFileControl.Pause: ViewModel.Status = TransferStatus.Paused; break; case ToxFileControl.Resume: ViewModel.Status = TransferStatus.InProgress; break; } }
private void FileControlReceivedHandler(object sender, ToxEventArgs.FileControlEventArgs e) { FileControlReceived?.Invoke(this, e); }
private void OnToxFileControlReceived(object sender, ToxEventArgs.FileControlEventArgs e) { this.Tox.FileControl(e.FriendNumber, e.FileNumber, ToxFileControl.Cancel); Logger.Log(LogLevel.Warning, "ToxFileControlReceived not supported, command canceled"); }