Functions | |
P6R::P6BOOL | operator!= (const P6R::P6UUID &uuid1, const P6R::P6UUID &uuid2) |
P6R::P6BOOL | operator< (const P6R::P6UUID &uuid1, const P6R::P6UUID &uuid2) |
P6R::P6BOOL | operator== (const P6R::P6UUID &uuid1, const P6R::P6UUID &uuid2) |
P6R::P6BOOL | operator> (const P6R::P6UUID &uuid1, const P6R::P6UUID &uuid2) |
P6API P6R::P6ERR | p6CleanupLoader () |
P6API P6R::P6ERR | p6InitializeLoader (P6R::p6IDataStream *pLogSink, P6R::P6INT32 nVerbosity, P6SCLF fFlags) |
NOTES.
Only include this when generating documentation.
< Runtime error (and type) definitions
Work relavant info into documentation, move the rest into private source files before release.
State transition table (STT)
The STT consitsts of four basic pieces of information.
The FSM maintains the current state and given an event, trasitions to the next state and returns the defined action.
We need the concept of an initial state and terminal state. Also we need a "none" state in which state processing can stop and control returned to the caller.
<?xml version='1.0' encoding='UTF-8'?> <xmlns:p6rfsm='http://www.p6r.com/xmlns/p6fsm/1.0' > <p6rfsm:p6fsm> <p6rfsm:limits> <p6rfsm:badstate val="0"> <p6rfsm:badevent val="0"> <p6rfsm:badaction val="0"> <p6rfsm:anyevent val="-1"> </p6rfsm:limits> <p6rfsm:statedef> <p6rfsm:state name="state1" val="1"/> <p6rfsm:state name="state2" val="2"/> <p6rfsm:state name="state3" val="3"/> </p6rfsm:statedef> <p6rfsm:eventdev> <p6rfsm:event name="event1" val="1"/> <p6rfsm:event name="event2" val="2"/> <p6rfsm:event name="event3" val="3"/> <p6rfsm:event name="event4" val="4"/> <p6rfsm:event name="event5" val="5"/> <p6rfsm:event name="event6" val="6"/> </p6rfsm:eventdef> <p6rfsm:actiondef> <p6rfsm:action name="action1" val="1"/> <p6rfsm:action name="action2" val="2"/> <p6rfsm:action name="action3" val="3"/> <p6rfsm:action name="action4" val="4"/> <p6rfsm:action name="action5" val="5"/> <p6rfsm:action name="action6" val="6"/> <p6rfsm:action name="action7" val="7"/> <p6rfsm:action name="action8" val="8"/> <p6rfsm:action name="action9" val="9"/> </p6rfsm:actiondef> <p6rfsm:initialstate name="state1" /> <p6rfsm:transitions> <p6rfsm:state name="state1">
<p6rfsm:loop event="event1" action="action1" /> <p6rfsm:loop event="event3" action="action1" />
<p6rfsm:exit event="event2" action="action3" /> <p6rfsm:exit event="event4" action="" /> <p6rfsm:trans event="event5" action="action2" next="state2" /> <p6rfsm:trans event="event6" action="action1" next="state3" /> </p6rfsm:state> <p6rfsm:state name="state2"> <p6rfsm:trans event="event1" action="action5" next="state3" /> <p6rfsm:trans event="event6" action="action9" next="state1" /> </p6rfsm:state> <p6rfsm:state name="state3"> <p6rfsm:exit event="event4" action="action4" /> <p6rfsm:loop event="event3" action="action2" /> <p6rfsm:trans event="event2" action="action2" next="state2" /> <p6rfsm:trans event="event6" action="action9" next="state1" /> </p6rfsm:state>
</p6rfsm:transitions> </p6rfsm:p6fsm>
< P6Platform's runtime COM API interface definitions < Logging interface definitions < Threading interface definitions < P6Platform's C API definitions < P6COM component interface definitions. Components must implement these interfaces. < Keystore interface for certificate and private key retrieval < Buffer factory used by SSL and async I/O queue
< P6Platform's runtime COM API interface definitions < Logging interface definitions < Threading interface definitions < P6Platform's C API definitions