public PhotoMirrorViewModel( IAppContext appContext, IConnectionSignalsHandler connectionSignalsHandler, RemoteCameraService remoteCameraService) { _appContext = appContext; _remoteCameraService = remoteCameraService; _connectionSignalsHandler = connectionSignalsHandler; _connectionSignalsHandler.SetInner(this); }
public TakePhotoViewModel( IPermissionService permissionService, RemoteCameraService remoteCameraService, IConnectionSignalsHandler connectionSignalsHandler) { _connectionSignalsHandler = connectionSignalsHandler; _permissionService = permissionService; _remoteCameraService = remoteCameraService; _connectionSignalsHandler.SetInner(this); }
public Program() { var logger = new Logger(); logger.AddSource(new ConsoleLogSource()); logger.CurrentLevel = LogLevel.Debug; _logger = logger; _connectionSignalsHandlerLazy = new Lazy <IConnectionSignalsHandler>(() => new NullConnectionSignalsHandler(_logger)); var baseUrl = "https://remotecamera.azurewebsites.net/"; _remoteCameraService = new RemoteCameraService(new NullConnectionSignalsHandler(_logger), new HubService(new HubClient(baseUrl + "/hub", _logger)), new SessionClient(baseUrl), _logger); _paramsHolder = new ParamsHolder(); InitializeBranches(_remoteCameraService); }
private void InitializeBranches(RemoteCameraService service) { _actionsSwitch["camera"] = () => service.CreateSessionAndConnectAsync(); _actionsSwitch["rc"] = () => service.ConnectRcAsync(_paramsHolder[1]); _actionsSwitch["finish"] = () => service.FinishSessionAsync(); _actionsSwitch["control"] = () => service.SendControlMessageAsync(new ControlMessage() { Kind = ControlOperationKind.TakePhoto }); _actionsSwitch["data"] = () => service.SendDataMessageAsync(new DataMessage() { Payload = GetPayload(), CreatedAt = DateTime.Now }); _actionsSwitch["text"] = () => service.SendMessageAsync(_paramsHolder[1]); _actionsSwitch["reset"] = () => service.Disconnect(); _actionsSwitch["partial_data"] = () => SendPartialAsync(service); }
private async Task SendPartialAsync(RemoteCameraService service) { var bytes = GetPayload(); await service.SendPartialDataMessageAsync(bytes); }