Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

DC_FromFsmEvent.cpp

00001 // 00002 // Copyright 2004 P&P Software GmbH - All Rights Reserved 00003 // 00004 // DC_FromFsmEvent.cpp 00005 // 00006 // Version 1.0 00007 // Date 02.10.02 00008 // Author A. Pasetti (P&P Software) 00009 00010 #include "../GeneralInclude/CompilerSwitches.h" 00011 #include "../GeneralInclude/DebugSupport.h" 00012 #include "../GeneralInclude/ClassId.h" 00013 #include "../GeneralInclude/Constants.h" 00014 #include "../Base/CC_RootObject.h" 00015 #include "DC_FromFsmEvent.h" 00016 #include "CC_FSM.h" 00017 00018 DC_FromFsmEvent::DC_FromFsmEvent(void) { 00019 startingState = -1; 00020 setClassId(ID_FROMFSMEVENT); 00021 } 00022 00023 void DC_FromFsmEvent::setStartingState(TD_FsmStateIndex startingState) { 00024 assert( startingState >= 0 ); 00025 this->startingState = startingState; 00026 } 00027 00028 TD_FsmStateIndex DC_FromFsmEvent::getStartingState(void) const { 00029 assert( startingState >= 0 ); 00030 return startingState; 00031 } 00032 00033 bool DC_FromFsmEvent::isObjectConfigured(void) { 00034 return (DC_FsmEvent::isObjectConfigured() && startingState>=0 && 00035 startingState<getTargetFsm()->getNumberOfStates()); 00036 } 00037 00038 TD_ActionOutcome DC_FromFsmEvent::doAction(void) { 00039 assert( isObjectConfigured() ); 00040 if (getTargetFsm()->getCurrentState() == startingState) 00041 return DC_FsmEvent::doAction(); 00042 else 00043 return ACTION_FAILURE; 00044 }
Copyright 2003 P&P Software GmbH - All Rights Reserved