Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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();
        }
Exemple #4
0
        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));
            }
        }
Exemple #5
0
        private void HandleUserlist(SyncResponse response)
        {
            var users = (List <User>)JsonConvert.DeserializeObject <List <User> >(response.Data.Users.ToString());

            _dispatcher.Invoke(() => this.UpdateUsers(users));
        }
Exemple #6
0
        public static SyncResponse Ping()
        {
            var response = new SyncResponse(SyncResponse.ResponseTypes.Ping);

            return(response);
        }