22 static const P6FSMFLAGS P6FSM_NOFLAGS = 0x00000000;
23 static const P6FSMFLAGS P6FSM_LOGTRANSITIONS = 0x00000001;
168 #define IF_p6IFsm {0x3ABD7B8D,0x8EB7,0x499F,{0x96,0xB9,0x07,0xB4,0x32,0xCA,0xFF,0x88}}
171 #define COMP_p6Fsm {0x65FB2BB9,0x61EA,0x461E,{0xB2,0x64,0x99,0x90,0xCC,0x47,0x61,0x1B}}
virtual P6R::P6ERR actionToStrW(P6R::P6FSMACTION nAction, P6R::P6WCHAR *pBuffer, P6R::P6SIZE *pcBuffer)=0
Converts a action value into a P6WCHAR string.
P6R::P6UINT16 P6FSMSTATE
type used to represent state values in the state machine
virtual P6R::P6ERR stateToStrW(P6R::P6FSMSTATE nState, P6R::P6WCHAR *pBuffer, P6R::P6SIZE *pcBuffer)=0
Converts a state value into a P6WCHAR string.
virtual P6R::P6ERR enableLogging(P6R::P6BOOL bEnable)=0
Enable/disables state transition logging.
P6R::P6UINT16 P6FSMEVENT
type used to represent event values in the state machine
virtual P6R::P6ERR reset()=0
Used to reset the state machine back to the initial state.
This component provides a general purpose finite state machine engine that can be used with anything...
virtual P6R::P6ERR getLastState(P6R::P6FSMSTATE *pnLastState)=0
Retrieves the previous state.
unsigned short int P6UINT16
wchar_t P6WCHAR
Wide character type see p6i18n.h.
The base interface all [p6]COM components must derive from and implement.
virtual P6R::P6ERR getCurrentState(P6R::P6FSMSTATE *pnCurState)=0
Retieves the current state of the state machine.
P6R::P6UINT32 P6FSMFLAGS
type for controls flags passed into p6IFsm
virtual P6R::P6ERR eventToStrW(P6R::P6FSMEVENT nEvent, P6R::P6WCHAR *pBuffer, P6R::P6SIZE *pcBuffer)=0
Converts a event value into a P6WCHAR string.
virtual P6R::P6ERR getLastEvent(P6R::P6FSMEVENT *pnLastEvent)=0
Retrieves the previous event processed.
P6R::P6UINT16 P6FSMACTION
type used to represent action values in the state machine
virtual P6R::P6ERR processEvent(P6R::P6FSMEVENT nEvent, P6R::P6FSMACTION *pnAction)=0
Given an event, this methof runs the state machine to the next state and returns the associated actio...
virtual P6R::P6ERR initialize(P6R::p6IFsmTable *pStateTable, P6R::P6FSMFLAGS fFlags)=0
Initializes the finite state machine interface for use.