public Result CheckSimulatedAccessFailureEvent(SimulatingDeviceTargetOperation operation) { if (_isEventSet) { return(Result.Success); } using ScopedLock <SdkRecursiveMutex> lk = ScopedLock.Lock(ref _mutex); if ((_simulatedOperation & operation) == 0) { return(Result.Success); } Result result = GetCorrespondingResult(_simulatedFailureType); if (result.IsFailure() && _failureResult.IsFailure()) { result = _failureResult; } if (_simulatedFailureType == SimulatingDeviceAccessFailureEventType.AccessTimeoutFailure) { SimulateTimeout(); } if (!_isRecurringEvent) { ClearDeviceEvent(); } return(result); }
public void ClearDeviceEvent() { using ScopedLock <SdkRecursiveMutex> lk = ScopedLock.Lock(ref _mutex); _isEventSet = false; _simulatedFailureType = SimulatingDeviceAccessFailureEventType.None; _simulatedOperation = SimulatingDeviceTargetOperation.None; _failureResult = Result.Success; _isRecurringEvent = false; }
public void SetDeviceEvent(SimulatingDeviceTargetOperation operation, SimulatingDeviceAccessFailureEventType failureType, Result failureResult, bool isRecurringEvent) { using ScopedLock <SdkRecursiveMutex> lk = ScopedLock.Lock(ref _mutex); if (failureResult.IsFailure()) { _failureResult = failureResult; } _isEventSet = true; _simulatedFailureType = failureType; _simulatedOperation = operation; _isRecurringEvent = isRecurringEvent; }