private void ToggleWebRtcVideo(byte[] message, Services.Viewer viewer) { var dto = MessagePackSerializer.Deserialize <ToggleWebRtcVideoDto>(message); viewer.ToggleWebRtcVideo(dto.ToggleOn); }
private void SelectScreen(byte[] message, Services.Viewer viewer) { var dto = MessagePackSerializer.Deserialize <SelectScreenDto>(message); viewer.Capturer.SetSelectedScreen(dto.DisplayName); }
private void SetAutoQualityAdjust(byte[] message, Services.Viewer viewer) { var dto = MessagePackSerializer.Deserialize <AutoQualityAdjustDto>(message); viewer.AutoAdjustQuality = dto.IsOn; }
private void OpenFileTransferWindow(Services.Viewer viewer) { FileTransferService.OpenFileTransferWindow(viewer); }
private void QualityChange(byte[] message, Services.Viewer viewer) { var dto = MessagePackSerializer.Deserialize <QualityChangeDto>(message); viewer.ImageQuality = dto.QualityLevel; }
private void MouseMove(byte[] message, Services.Viewer viewer) { var dto = MessagePackSerializer.Deserialize <MouseMoveDto>(message); KeyboardMouseInput.SendMouseMove(dto.PercentX, dto.PercentY, viewer); }
private void MouseUp(byte[] message, Services.Viewer viewer) { var dto = MessagePackSerializer.Deserialize <MouseUpDto>(message); KeyboardMouseInput.SendMouseButtonAction(dto.Button, ButtonAction.Up, dto.PercentX, dto.PercentY, viewer); }
private async Task GetWindowsSessions(Services.Viewer viewer) { await viewer.SendWindowsSessions(); }
public async Task ParseMessage(Services.Viewer viewer, byte[] message) { try { var baseDto = MessagePackSerializer.Deserialize <BaseDto>(message); switch (baseDto.DtoType) { case BaseDtoType.MouseMove: case BaseDtoType.MouseDown: case BaseDtoType.MouseUp: case BaseDtoType.Tap: case BaseDtoType.MouseWheel: case BaseDtoType.KeyDown: case BaseDtoType.KeyUp: case BaseDtoType.CtrlAltDel: case BaseDtoType.ToggleBlockInput: case BaseDtoType.ClipboardTransfer: case BaseDtoType.KeyPress: case BaseDtoType.SetKeyStatesUp: { if (!viewer.HasControl) { return; } } break; default: break; } switch (baseDto.DtoType) { case BaseDtoType.SelectScreen: SelectScreen(message, viewer); break; case BaseDtoType.MouseMove: MouseMove(message, viewer); break; case BaseDtoType.MouseDown: MouseDown(message, viewer); break; case BaseDtoType.MouseUp: MouseUp(message, viewer); break; case BaseDtoType.Tap: Tap(message, viewer); break; case BaseDtoType.MouseWheel: MouseWheel(message); break; case BaseDtoType.KeyDown: KeyDown(message); break; case BaseDtoType.KeyUp: KeyUp(message); break; case BaseDtoType.CtrlAltDel: await viewer.SendCtrlAltDel(); break; case BaseDtoType.AutoQualityAdjust: SetAutoQualityAdjust(message, viewer); break; case BaseDtoType.ToggleAudio: ToggleAudio(message); break; case BaseDtoType.ToggleBlockInput: ToggleBlockInput(message); break; case BaseDtoType.ToggleWebRtcVideo: ToggleWebRtcVideo(message, viewer); break; case BaseDtoType.ClipboardTransfer: await ClipboardTransfer(message); break; case BaseDtoType.KeyPress: await KeyPress(message); break; case BaseDtoType.QualityChange: QualityChange(message, viewer); break; case BaseDtoType.File: await DownloadFile(message); break; case BaseDtoType.WindowsSessions: await GetWindowsSessions(viewer); break; case BaseDtoType.SetKeyStatesUp: SetKeyStatesUp(); break; case BaseDtoType.FrameReceived: HandleFrameReceived(viewer); break; case BaseDtoType.OpenFileTransferWindow: OpenFileTransferWindow(viewer); break; default: break; } } catch (Exception ex) { Logger.Write(ex); } }
public async Task DisconnectViewer(Services.Viewer viewer, bool notifyViewer) { viewer.DisconnectRequested = true; viewer.Dispose(); await Connection.SendAsync("DisconnectViewer", viewer.ViewerConnectionID, notifyViewer); }
public WebRtcSession(Services.Viewer viewer, IDtoMessageHandler rtcMessageHandler) { Viewer = viewer; RtcMessageHandler = rtcMessageHandler; }
public WebRtcSession GetNewSession(Services.Viewer viewer) { return(new WebRtcSession(viewer, MessageHandler)); }