Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public void ClearDeviceEvent()
        {
            using ScopedLock <SdkRecursiveMutex> lk = ScopedLock.Lock(ref _mutex);

            _isEventSet           = false;
            _simulatedFailureType = SimulatingDeviceAccessFailureEventType.None;
            _simulatedOperation   = SimulatingDeviceTargetOperation.None;
            _failureResult        = Result.Success;
            _isRecurringEvent     = false;
        }
Exemplo n.º 3
0
        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;
        }