//------------------------------------------------------ // // Private methods // //------------------------------------------------------ // Change the status to the new status. Return true if this is allowed. // Do it all atomically. bool ChangeStatus(AsyncRequestStatus newStatus) { bool allowChange = false; lock (SyncRoot) { switch (newStatus) { case AsyncRequestStatus.Working: allowChange = (_status == AsyncRequestStatus.Waiting); break; case AsyncRequestStatus.Completed: allowChange = (_status == AsyncRequestStatus.Working); break; case AsyncRequestStatus.Cancelled: allowChange = (_status == AsyncRequestStatus.Waiting) || (_status == AsyncRequestStatus.Working); break; case AsyncRequestStatus.Failed: allowChange = (_status == AsyncRequestStatus.Working); break; } if (allowChange) { _status = newStatus; } } return(allowChange); }
// Token: 0x06007496 RID: 29846 RVA: 0x00215CD4 File Offset: 0x00213ED4 private void CompleteSetValue(AsyncSetValueRequest request) { AsyncSetValueRequest asyncSetValueRequest = (AsyncSetValueRequest)base.GetValue(BindingWorker.Feature.PendingSetValueRequest, null); if (asyncSetValueRequest == request) { base.ClearValue(BindingWorker.Feature.PendingSetValueRequest); if (this.CheckTarget() == null) { return; } AsyncRequestStatus status = request.Status; if (status != AsyncRequestStatus.Completed && status == AsyncRequestStatus.Failed) { object obj = base.ParentBinding.DoFilterException(base.ParentBindingExpression, request.Exception); Exception ex = obj as Exception; ValidationError validationError; if (ex != null) { if (TraceData.IsEnabled) { int k = this.PW.Length - 1; object value = request.Value; this.ReportSetValueError(k, request.TargetItem, request.Value, ex); return; } } else if ((validationError = (obj as ValidationError)) != null) { Validation.MarkInvalid(base.ParentBindingExpression, validationError); } } } }
// Token: 0x0600735A RID: 29530 RVA: 0x00211038 File Offset: 0x0020F238 private bool ChangeStatus(AsyncRequestStatus newStatus) { bool flag = false; object syncRoot = this.SyncRoot; lock (syncRoot) { switch (newStatus) { case AsyncRequestStatus.Working: flag = (this._status == AsyncRequestStatus.Waiting); break; case AsyncRequestStatus.Completed: flag = (this._status == AsyncRequestStatus.Working); break; case AsyncRequestStatus.Cancelled: flag = (this._status == AsyncRequestStatus.Waiting || this._status == AsyncRequestStatus.Working); break; case AsyncRequestStatus.Failed: flag = (this._status == AsyncRequestStatus.Working); break; } if (flag) { this._status = newStatus; } } return(flag); }
// Token: 0x06007491 RID: 29841 RVA: 0x00215AE0 File Offset: 0x00213CE0 private void CompleteGetValue(AsyncGetValueRequest request) { AsyncGetValueRequest asyncGetValueRequest = (AsyncGetValueRequest)base.GetValue(BindingWorker.Feature.PendingGetValueRequest, null); if (asyncGetValueRequest == request) { base.ClearValue(BindingWorker.Feature.PendingGetValueRequest); int num = (int)request.Args[1]; if (this.CheckTarget() == null) { return; } AsyncRequestStatus status = request.Status; if (status != AsyncRequestStatus.Completed) { if (status != AsyncRequestStatus.Failed) { return; } this.ReportGetValueError(num, request.SourceItem, request.Exception); this.PW.OnNewValue(num, DependencyProperty.UnsetValue); } else { this.PW.OnNewValue(num, request.Result); this.SetStatus(this.PW.Status); if (num == this.PW.Length - 1) { base.ParentBindingExpression.TransferValue(request.Result, false); return; } } } }
//------------------------------------------------------ // // Private methods // //------------------------------------------------------ // Change the status to the new status. Return true if this is allowed. // Do it all atomically. bool ChangeStatus(AsyncRequestStatus newStatus) { bool allowChange = false; lock(SyncRoot) { switch (newStatus) { case AsyncRequestStatus.Working: allowChange = (_status == AsyncRequestStatus.Waiting); break; case AsyncRequestStatus.Completed: allowChange = (_status == AsyncRequestStatus.Working); break; case AsyncRequestStatus.Cancelled: allowChange = (_status == AsyncRequestStatus.Waiting) || (_status == AsyncRequestStatus.Working); break; case AsyncRequestStatus.Failed: allowChange = (_status == AsyncRequestStatus.Working); break; } if (allowChange) _status = newStatus;; } return allowChange; }