protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(null, 0, message)); ActionUnits.Add(new DataReceivedUnit(handlerRetFailed, SetStateFailed)); ActionUnits.Add(new DataReceivedUnit(handlerCallback, OnHandle)); ActionUnitStop = new ActionUnit(messageStop); }
private ApiHandler handlerFailed; // code=0x23 protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(null, TimeoutMs, messageStart)); ActionUnits.Add(new DataReceivedUnit(handlerStarted, OnHandlerStarted)); ActionUnits.Add(new DataReceivedUnit(handlerDone, OnHandlerDone)); ActionUnits.Add(new DataReceivedUnit(handlerFailed, OnHandlerFailed)); }
protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(null, TimeoutMs)); ActionUnits.Add(new DataReceivedUnit(_expectReceived, OnHandled)); ActionUnits.Add(new DataReceivedUnit(_expectPModeReceived, OnPModeHandled)); ActionUnits.Add(new DataReceivedUnit(_expectBridgeReceived, OnBridgeHandled)); }
protected override void CreateWorkflow() { if (Actions.Length > 0) { for (int i = 0; i < Actions.Length + 1; i++) { if (i == 0) { ActionUnits.Add(new StartActionUnit(OnStart, 0, Actions[i])); } else if (i == Actions.Length) { ActionUnits.Add(new ActionCompletedUnit(Actions[i - 1], OnLastCompleted, null)); } else { ActionUnits.Add(new ActionCompletedUnit(Actions[i - 1], OnCompleted, Actions[i])); } } } else { ActionUnits.Add(new StartActionUnit(SetStateCompleted, 0)); } }
protected override void CreateWorkflow() { if (Mode == LearnModes.LearnModeDisable) { ActionUnits.Add(new StartActionUnit(SetStateCompleting, TimeoutMs, cmZWaveSetLearnModeStop)); } else { if ((Mode & LearnModes.LearnModeNWE) == LearnModes.LearnModeNWE) { ActionUnits.Add(new StartActionUnit(null, TimeoutMs, cmZWaveSetLearnModeStart, cmZWaveExploreRequestExclusion, new RandomTimeInterval(0, 1000, 3000))); ActionUnits.Add(new TimeElapsedUnit(0, OnTimeElapsed, 0, cmZWaveExploreRequestExclusion, new RandomTimeInterval(0, 1000, 3000))); } else if ((Mode & LearnModes.LearnModeNWI) == LearnModes.LearnModeNWI) { ActionUnits.Add(new StartActionUnit(null, TimeoutMs, cmZWaveSetLearnModeStart, cmZWaveExploreRequestInclusion, new RandomTimeInterval(0, 1000, 3000))); ActionUnits.Add(new TimeElapsedUnit(0, OnTimeElapsed, 0, cmZWaveExploreRequestInclusion, new RandomTimeInterval(0, 1000, 3000))); } else { ActionUnits.Add(new StartActionUnit(null, TimeoutMs, cmZWaveSetLearnModeStart)); } ActionUnits.Add(new DataReceivedUnit(chZWaveSetLearnModeStarted, OnStarted)); ActionUnits.Add(new DataReceivedUnit(chZWaveSetLearnModeFailed, SetStateFailing, cmZWaveSetLearnModeStop)); ActionUnits.Add(new DataReceivedUnit(chZWaveSetLearnModeDone, OnDone, cmZWaveSetLearnModeStop)); ActionUnitStop = new ActionUnit(cmZWaveSetLearnModeStop); } }
private ApiHandler handlerNotPrimary; // code=23 protected override void CreateWorkflow() { if ((InitMode & ControllerChangeModes.Start) == ControllerChangeModes.Start) { ActionUnits.Add(new StartActionUnit(null, TimeoutMs, messageStart)); ActionUnits.Add(new DataReceivedUnit(handlerLearnReady, OnLearnReady)); ActionUnits.Add(new DataReceivedUnit(handlerNodeFound, OnNodeFound)); ActionUnits.Add(new DataReceivedUnit(handlerAddingController, OnAddingController)); ActionUnits.Add(new DataReceivedUnit(handlerAddingSlave, OnAddingSlave)); if (IsModeStopEnabled) { ActionUnits.Add(new DataReceivedUnit(handlerFailed, OnFailed, messageStopFailed)); ActionUnits.Add(new DataReceivedUnit(handlerProtocolDone, OnProtocolDone, messageStop)); ActionUnits.Add(new DataReceivedUnit(handlerDone, OnDone, messageStopDone)); ActionUnits.Add(new DataReceivedUnit(handlerNotPrimary, OnNotPrimary, messageStopDone)); ActionUnitStop = new ActionUnit(messageStopDone); } else { ActionUnits.Add(new DataReceivedUnit(handlerFailed, OnFailed)); ActionUnits.Add(new DataReceivedUnit(handlerProtocolDone, OnDone)); ActionUnits.Add(new DataReceivedUnit(handlerNotPrimary, OnNotPrimary)); } } else { ActionUnits.Add(new StartActionUnit(SetStateCompleting, 0, messageStopDone)); } }
protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(OnAddNodeCompleted, 0, requestScheme)); ActionUnits.Add(new ActionCompletedUnit(requestScheme, OnSchemeReport, expectNetworkKeyVerify, sendNetworkKeySet)); ActionUnits.Add(new ActionCompletedUnit(sendNetworkKeySet, OnNetworkKeySet)); ActionUnits.Add(new ActionCompletedUnit(expectNetworkKeyVerify, OnNetworkKeyVerify)); ActionUnits.Add(new ActionCompletedUnit(requestSchemeInherit, OnSchemeInheritReport)); }
protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(null, 0, Actions)); for (int i = 0; i < Actions.Length; i++) { ActionUnits.Add(new ActionCompletedUnit(Actions[i], OnCompleted)); } }
protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(null, TimeoutMs)); foreach (var handler in handlers) { ActionUnits.Add(new DataReceivedUnit(handler, OnReceived)); } }
protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(OnSchemeGet, 0)); ActionUnits.Add(new ActionCompletedUnit(requestNetworkKey, OnNetworkKeySet)); ActionUnits.Add(new ActionCompletedUnit(requestSchemeInherit, OnSchemeInherit, sendSecureSchemeReport)); ActionUnits.Add(new ActionCompletedUnit(sendSecureSchemeReport, OnDone)); ActionUnits.Add(new ActionCompletedUnit(sendNetworkKeyVerify, OnDone)); }
protected override void CreateWorkflow() { isHandled = false; ActionUnits.Add(new StartActionUnit(null, RET_TIMEOUT, Message)); ActionUnits.Add(new DataReceivedUnit(HandlerFailed, OnFailed)); ActionUnits.Add(new DataReceivedUnit(HandlerOk, OnHandled, CALLBACK_TIMEOUT)); ActionUnits.Add(new DataReceivedUnit(CallbackHandler, OnCallback)); }
protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(null, 5000, messageRequest)); //ActionUnits.Add(new DataReceivedUnit(handlerResponseTrue, null)); ActionUnits.Add(new DataReceivedUnit(handlerResponseFalse, SetStateFailed)); //ActionUnits.Add(new DataReceivedUnit(handlerNodeInfoReqDone, null)); ActionUnits.Add(new DataReceivedUnit(handlerNodeInfoReqFailed, SetStateFailed)); ActionUnits.Add(new DataReceivedUnit(handlerNodeInfoReceived, SetStateCompleted)); }
private ApiHandler handlerLostAccept; // code=5 protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(null, 30000, messageStart)); //ActionUnits.Add(new DataReceivedUnit(handlerRetValTrue, null)); ActionUnits.Add(new DataReceivedUnit(handlerRetValFalse, SetStateFailed)); //ActionUnits.Add(new DataReceivedUnit(handlerLostAccept, null)); ActionUnits.Add(new DataReceivedUnit(handlerLostFailed, SetStateFailed)); ActionUnits.Add(new DataReceivedUnit(handlerUpdateDone, SetStateCompleted)); ActionUnits.Add(new DataReceivedUnit(handlerUpdateAbort, SetStateCompleted)); }
protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(OnStart, 0)); ActionUnits.Add(new ActionCompletedUnit(_learnMode, null, _memoryGetId)); ActionUnits.Add(new ActionCompletedUnit(_memoryGetId, OnMemoryGetIdCompleted, _serialApiGetInitData)); ActionUnits.Add(new ActionCompletedUnit(_serialApiGetInitData, OnLearnModeCompleted)); ActionUnits.Add(new ActionCompletedUnit(_expectSchemeGet, OnExpectSchemeGetCompleted)); ActionUnits.Add(new ActionCompletedUnit(_expectKexGet, OnExpectKexGetCompleted)); ActionUnits.Add(new ActionCompletedUnit(_learnModeS0, OnLearnModeS0Completed)); ActionUnits.Add(new ActionCompletedUnit(_learnModeS2, OnLearnModeS2Completed)); }
protected override void CreateWorkflow() { if (_isStart) { ActionUnits.Add(new StartActionUnit(null, 0, _messageStart, new TimeInterval(0, 500))); } else { ActionUnits.Add(new StartActionUnit(null, 0, _messageStop, new TimeInterval(0, 500))); } ActionUnits.Add(new TimeElapsedUnit(0, SetStateCompleted, 0)); }
protected override void CreateWorkflow() { if (CmdClass == 0) { ActionUnits.Add(new StartActionUnit(null, 0, sendFirst)); ActionUnits.Add(sendCompleted); } else { ActionUnits.Add(new StartActionUnit(null, 0, requestFirst)); ActionUnits.Add(requestCompleted); } }
protected override void CreateWorkflow() { if (CmdClass == 0) { ActionUnits.Add(new StartActionUnit(null, 0, sendData)); ActionUnits.Add(new ActionCompletedUnit(sendData, OnSendCompleted, sendData)); } else { ActionUnits.Add(new StartActionUnit(null, 0, requestData)); ActionUnits.Add(new ActionCompletedUnit(requestData, OnRequestCompleted, requestData)); } }
protected override void CreateWorkflow() { if (SrcNodeId == 0) { ActionUnits.Add(new StartActionUnit(OnStart, _timeoutMs, ExpectData, _sendData)); ActionUnits.Add(new ActionCompletedUnit(_sendData, OnSendDataComleted)); } else { ActionUnits.Add(new StartActionUnit(OnStart, _timeoutMs, ExpectData, _sendDataBridge)); ActionUnits.Add(new ActionCompletedUnit(_sendDataBridge, OnSendDataComleted)); } ActionUnits.Add(new ActionCompletedUnit(ExpectData, OnExpectDataComleted)); }
protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(OnKEXGet, 0, _KEXReportKEXSet, _KexFailReceived, _SecurityMessageReceived)); ActionUnits.Add(new ActionCompletedUnit(_KEXReportKEXSet, OnKEXSet, _PKReportPKReport)); ActionUnits.Add(new ActionCompletedUnit(_PKReportPKReport, OnPKReport, _KEXSetEchoKEXReportEcho)); ActionUnits.Add(new ActionCompletedUnit(_KEXSetEchoKEXReportEcho, OnKEXReportEcho)); ActionUnits.Add(new ActionCompletedUnit(_NKGetNKReport, OnNKReport, _NKVerifyTransferEnd)); ActionUnits.Add(new ActionCompletedUnit(_NKVerifyTransferEnd, OnTransferEnd)); ActionUnits.Add(new ActionCompletedUnit(_TransferEnd, OnSendTransferEnd)); ActionUnits.Add(new ActionCompletedUnit(_KexFail, OnKexFail)); ActionUnits.Add(new ActionCompletedUnit(_KexFailReceived, OnKexFailReceived)); ActionUnits.Add(new ActionCompletedUnit(_SecurityMessageReceived, OnSecurityMessageReceived)); ActionUnitStop = new ActionUnit(_KexFailCancel); }
protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(null, 30000, messageStart)); ActionUnits.Add(new DataReceivedUnit(handlerRemoveStarted, OnRetValue)); ActionUnits.Add(new DataReceivedUnit(handlerNotPrimary, OnRetValue)); ActionUnits.Add(new DataReceivedUnit(handlerNoCallback, OnRetValue)); ActionUnits.Add(new DataReceivedUnit(handlerNotFound, OnRetValue)); ActionUnits.Add(new DataReceivedUnit(handlerRemoveBusy, OnRetValue)); ActionUnits.Add(new DataReceivedUnit(handlerRemoveFail, OnRetValue)); ActionUnits.Add(new DataReceivedUnit(handlerNodeOk, OnCallback)); ActionUnits.Add(new DataReceivedUnit(handlerRemoved, OnCallback)); ActionUnits.Add(new DataReceivedUnit(handlerNotRemoved, OnCallback)); }
protected override void CreateWorkflow() { if (_isNoDelay) { ActionUnits.Add(new StartActionUnit(null, 0, message)); ActionUnits.Add(new DataReceivedUnit(handler, OnReceived)); } else { ActionUnits.Add(new StartActionUnit(null, _iterationDelay * _maxAttempts + _startDelay + 1000, new TimeInterval(0, _startDelay))); ActionUnits.Add(new TimeElapsedUnit(0, null, _iterationDelay * _maxAttempts + 1000, message)); ActionUnits.Add(new DataReceivedUnit(handler, OnReceived, new TimeInterval(1, _iterationDelay))); ActionUnits.Add(new TimeElapsedUnit(1, null, 0, message)); } }
public virtual void NewToken(bool isNextId) { if (isNextId) { var newId = NextId(); "{0}->{1}"._DLOG(Id, newId); Id = newId; } var oldTimeout = Token.TimeoutMs; Token = new ActionToken(GetType(), Id, oldTimeout, CreateOperationResult()); Token.TimeoutMs = oldTimeout; Token.Name = Name; ActionUnits.Clear(); CompletedCallback = null; }
internal ActionHandlerResult TryHandle(IActionCase actionCase) { ActionHandlerResult ret = null; if (Token.IsStateActive) { if (ActionUnits.Count > 0) { ActionUnit ou = ActionUnits.FirstOrDefault(x => x.TryHandle(actionCase)); ret = Handle(ou); if (ou != null && ou.TimeoutMs > 0) { Token.Reset(ou.TimeoutMs); } } } return(ret); }
internal ActionHandlerResult Start() { ActionHandlerResult ret = null; Token.Name = Name; CreateInstance(); CreateWorkflow(); Token.SetRunning(); if (ActionUnits.Count > 0) { ActionUnit ou = ActionUnits.FirstOrDefault(x => x is StartActionUnit); ret = Handle(ou); if (ou != null) { Token.Reset(ou.TimeoutMs); } } return(ret); }
protected override void CreateWorkflow() { if (Mode == LearnModes.LearnModeDisable) { ActionUnits.Add(new StartActionUnit(SetStateCompleting, TimeoutMs, _setLearnModeStop)); } else { if ((Mode & LearnModes.LearnModeNWE) == LearnModes.LearnModeNWE) { ActionUnits.Add(new StartActionUnit(null, TimeoutMs, _setLearnModeStart, _sendNodeInfo, _exploreRequestExclusion, new RandomTimeInterval(0, 1000, 3000))); ActionUnits.Add(new TimeElapsedUnit(0, null, 0, _exploreRequestExclusion, new RandomTimeInterval(0, 1000, 3000))); } else if ((Mode & LearnModes.LearnModeNWI) == LearnModes.LearnModeNWI) { ActionUnits.Add(new StartActionUnit(null, TimeoutMs, _setLearnModeStart, _sendNodeInfo, _exploreRequestInclusion, new RandomTimeInterval(0, 1000, 3000))); ActionUnits.Add(new TimeElapsedUnit(0, null, 0, _exploreRequestInclusion, new RandomTimeInterval(0, 1000, 3000))); } else if ((Mode & (LearnModes.LearnModeSmartStart | LearnModes.NetworkMask)) == (LearnModes.LearnModeSmartStart | LearnModes.NetworkMask)) { ActionUnits.Add(new StartActionUnit(null, TimeoutMs, _setLearnModeStart)); } else if ((Mode & LearnModes.LearnModeSmartStart) == LearnModes.LearnModeSmartStart) { ActionUnits.Add(new StartActionUnit(null, TimeoutMs, _setLearnModeStart, _exploreRequestInclusion, new RandomTimeInterval(0, 2000, 4000))); ActionUnits.Add(new TimeElapsedUnit(0, null, 0, _exploreRequestInclusion, new RandomTimeInterval(0, 2000, 4000))); } else { ActionUnits.Add(new StartActionUnit(null, TimeoutMs, _setLearnModeStart, new RandomTimeInterval(0, 500, 1000))); ActionUnits.Add(new TimeElapsedUnit(0, null, 0, _sendNodeInfo)); } ActionUnits.Add(new DataReceivedUnit(_learnReady, OnLearnReady)); ActionUnits.Add(new DataReceivedUnit(_assignNodeIdDone, OnNodeIdDone)); ActionUnits.Add(new DataReceivedUnit(_assignComplete, OnAssignComplete, _setLearnModeStop, _stopDelay)); ActionUnits.Add(new TimeElapsedUnit(22, SetStateCompleted, 0, null)); ActionUnits.Add(new DataReceivedUnit(_assignRangeInfoUpdate, OnRangeInfoUpdate)); ActionUnitStop = new ActionUnit(_setLearnModeStop); } }
protected override void CreateWorkflow() { ActionUnits.Add(new StartActionUnit(null, 0, new ActionBase[] { _segmentRequestResponse, _waitSegmentResponse, _firstSegmentSendOperation })); ActionUnits.Add(new ActionCompletedUnit(_firstSegmentSendOperation, OnFirstSegment, _nextSegmentSendOperation) { Name = "_firstSegmentSendOperation" }); _sendNextSegmentCompletedUnit = new ActionCompletedUnit(_nextSegmentSendOperation, OnSendNextSegment, _nextSegmentSendOperation) { Name = "_nextSegmentSendOperation" }; ActionUnits.Add(_sendNextSegmentCompletedUnit); ActionUnits.Add(new ActionCompletedUnit(_segmentCompleteExpect, OnSegmentComplete) { Name = "_segmentCompleteExpect" }); ActionUnits.Add(new TimeElapsedUnit(Id, OnTimeElapsed, 0) { Name = "_timeElapsed" }); }
private ApiHandler handlerNotPrimary; // code=23 protected override void CreateWorkflow() { if (mInitMode != Modes.NodeStop) { //UniqueCategory = "AddingRemovingNode"; ActionUnits.Add(new StartActionUnit(OnStart, TimeoutMs, messageStart)); ActionUnits.Add(new DataReceivedUnit(handlerLearnReady, OnLearnReady)); ActionUnits.Add(new DataReceivedUnit(handlerFailed, OnFailed, messageStopDone)); ActionUnits.Add(new DataReceivedUnit(handlerNodeFound, OnNodeFound)); ActionUnits.Add(new DataReceivedUnit(handlerRemovingSlave, OnRemovingSlave)); ActionUnits.Add(new DataReceivedUnit(handlerRemovingController, OnRemovingController)); ActionUnits.Add(new DataReceivedUnit(handlerDone, OnDone, messageStopDone)); ActionUnits.Add(new DataReceivedUnit(handlerNotPrimary, OnNotPrimary)); ActionUnitStop = new ActionUnit(messageStop); } else { ActionUnits.Add(new StartActionUnit(null, 0, messageStop)); ActionUnits.Add(new DataReceivedUnit(handlerDone, OnDone, messageStopDone)); } }
protected override void CreateWorkflow() { if (Mode == SlaveLearnModes.VirtualSlaveLearnModeAdd || Mode == SlaveLearnModes.VirtualSlaveLearnModeRemove) { ActionUnits.Add(new StartActionUnit(OnStart, 5000, cmStart)); ActionUnits.Add(new DataReceivedUnit(chOk, null, TimeoutMs)); ActionUnits.Add(new DataReceivedUnit(chFailed, SetStateFailed)); ActionUnits.Add(new DataReceivedUnit(chAssignNodeIdDone, OnAssignNodeIdDone)); } else if (Mode == SlaveLearnModes.VirtualSlaveLearnModeDisable) { ActionUnits.Add(new StartActionUnit(null, 5000, cmStop)); ActionUnits.Add(new DataReceivedUnit(chOk, SetStateCompleted)); ActionUnits.Add(new DataReceivedUnit(chFailed, SetStateFailed)); } else { ActionUnits.Add(new StartActionUnit(OnStart, 5000, cmStart)); ActionUnits.Add(new DataReceivedUnit(chOk, null, TimeoutMs, cmSlaveNodeInfo)); ActionUnits.Add(new DataReceivedUnit(chFailed, SetStateFailed)); ActionUnits.Add(new DataReceivedUnit(chAssignComplete, OnAssignComplete)); ActionUnits.Add(new DataReceivedUnit(chAssignNodeIdDone, OnAssignNodeIdDone)); } }
private ApiHandler handlerNotPrimary; // code=23 protected override void CreateWorkflow() { if (InitMode == CreatePrimaryModes.Start) { ActionUnits.Add(new StartActionUnit(null, TimeoutMs, messageStart)); ActionUnits.Add(new DataReceivedUnit(handlerLearnReady, OnLearnReady)); ActionUnits.Add(new DataReceivedUnit(handlerFailed, OnFailed, messageStopFailed)); ActionUnits.Add(new DataReceivedUnit(handlerNodeFound, OnNodeFound)); ActionUnits.Add(new DataReceivedUnit(handlerAddingController, OnAddingController)); ActionUnits.Add(new DataReceivedUnit(handlerAddingSlave, OnAddingSlave)); ActionUnits.Add(new DataReceivedUnit(handlerProtocolDone, OnProtocolDone, messageStop)); ActionUnits.Add(new DataReceivedUnit(handlerDone, OnDone)); ActionUnits.Add(new DataReceivedUnit(handlerNotPrimary, OnNotPrimary)); } else if (InitMode == CreatePrimaryModes.Stop) { ActionUnits.Add(new StartActionUnit(null, 0, messageStop)); ActionUnits.Add(new DataReceivedUnit(handlerDone, OnDone)); } else { base.SetStateCompleted(null); } }
protected override void CreateWorkflow() { if (_securityManagerInfo.TestFirstFragmentedPartDisabled) { ActionUnits.Add(new StartActionUnit(OnStart, 0, requestNonce)); ActionUnits.Add(new ActionCompletedUnit(requestNonce, OnNonceReportSecond, sendSecondEncData)); ActionUnits.Add(new ActionCompletedUnit(sendSecondEncData, OnSendCompleted)); } else { ActionUnits.Add(new StartActionUnit(OnStart, 0, requestNonce)); ActionUnits.Add(new ActionCompletedUnit(requestNonce, OnNonceReport, sendFirstEncData)); if (_securityManagerInfo.TestSecondFragmentedPartDisabled) { ActionUnits.Add(new ActionCompletedUnit(sendFirstEncData, OnSendOnlyFirstCompleted)); } else { ActionUnits.Add(new ActionCompletedUnit(sendFirstEncData, OnRequestFirstEncData, sendSecondEncData)); ActionUnits.Add(new ActionCompletedUnit(sendSecondEncData, OnSendCompleted)); } } }