private void HandleCameraSyncProposal(SyncResponse response) { // Other admin proposed YOU to sync to HIS camera try { var camera = (CameraDetails) JsonConvert.DeserializeObject <CameraDetails>(response.Data.CameraDetails.ToString()); var adminId = (int)response.Data.ProposingAdmin; var admin = SyncManager.Instance.Users.FromId(adminId); // Invoke on dispatcher to not block response handling thread App.Instance.Dispatcher.Invoke(() => { if ((bool)response.Data.Force || App.Instance.MainModel.ShowDialog(new ConfirmCameraSyncWindow(admin, camera)).GetValueOrDefault()) { CameraControl.ChangeCamera(camera); } }); } catch (Exception ex) { App.Instance.LogError("Handling Camera Sync. Response: " + response, ex); } }
private void HandleServerDisconnect(SyncResponse response) { string reason = "Unknown reason."; if (response.Data != null && response.Data.Reason != null) { reason = (string)response.Data.Reason; } this.HandleDisconnect(reason); }
private void HandleStateUpdate(SyncResponse response) { _state = (SyncState)JsonConvert.DeserializeObject <SyncState>(response.Data.State.ToString()); Debug.WriteLine(">> Received state update: " + _state); // Save state SaveState(_state); // Copy settings that come from the server OfftrackHistory.OfftrackLimit = _state.OfftrackLimit; this.OnStateUpdated(); }
private void HandleRegistration(UserContext context, SyncResponse response, TaskCompletionSource <ConnectionResult> tcs) { if (response.Data.Success.Value) { // Registered successfully _status = ConnectionStatus.Connected; this.RaiseConnected(); _user = (User)JsonConvert.DeserializeObject <User>(response.Data.User.ToString()); //_user.Context = context; tcs.SetResult(new ConnectionResult()); } else { // Failed this.ResetStatus(); tcs.SetResult(new ConnectionResult(response.Data.Message.Value)); } }
private void HandleUserlist(SyncResponse response) { var users = (List <User>)JsonConvert.DeserializeObject <List <User> >(response.Data.Users.ToString()); _dispatcher.Invoke(() => this.UpdateUsers(users)); }
public static SyncResponse Ping() { var response = new SyncResponse(SyncResponse.ResponseTypes.Ping); return(response); }