12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?xml version="1.0" ?>
- <fsm fsm_version="1.3"
- idle_work="1" allow_actions="1"
- init="init" final="unsafe">
- <state id="init">
- <event name="CheckParameters" type="boolean">
- <next result="true" state="offline" />
- <next result="false" state="init" />
- </event>
- <!--event name="Progress">
- <next action="CheckParameters" />
- </event-->
- </state>
- <state id="offline">
- <event name="CheckParameters" type="boolean">
- <next result="true" state="offline" />
- <next result="false" state="init" />
- </event>
- <event name="Connect" type="boolean">
- <next result="true" state="online" />
- <next result="false" state="unsafe" />
- </event>
- <event name="Progress">
- <next action="Connect" />
- </event>
- </state>
- <state id="online">
- <event name="Close" type="boolean">
- <next result="true" state="offline" />
- <next result="false" state="unsafe" />
- </event>
- <event name="Login" type="boolean">
- <next result="true" state="live" />
- <next result="false" state="unsafe" />
- </event>
- <event name="Progress">
- <next action="Login" />
- </event>
- </state>
- <state id="live">
- <event name="Close" type="boolean">
- <next result="true" state="offline" />
- <next result="false" state="unsafe" />
- </event>
- <event name="Chdir" type="boolean">
- <next result="true" state="ready" />
- <next result="false" state="unsafe" />
- </event>
- <event name="Get" type="int">
- <next result="FTP_FINISHED" state="live" />
- <next result="FTP_FAILED" state="unsafe" />
- <next result="FTP_MOREDATA" state="active" />
- </event>
- <event name="Put" type="int">
- <next result="FTP_FINISHED" state="live" />
- <next result="FTP_FAILED" state="unsafe" />
- <next result="FTP_MOREDATA" state="active" />
- </event>
- <event name="Progress">
- <next action="Chdir" />
- </event>
- </state>
- <state id="ready">
- <event name="Get" type="string">
- <next result="FTP_FINISHED" state="live" action="Close" />
- <next result="FTP_MOREDATA" state="active" />
- <next result="FTP_FAILED" state="unsafe" />
- </event>
- <event name="Progress">
- <next action="Get" />
- </event>
- </state>
- <state id="active">
- <event name="close" type="boolean">
- <next result="true" state="offline" />
- <next result="false" state="unsafe" />
- </event>
- <event name="Continue" type="int">
- <next result="FTP_FINISHED" state="live" action="Close" />
- <next result="FTP_FAILED" state="unsafe" />
- <next result="FTP_MOREDATA" state="active" />
- </event>
- <event name="Progress">
- <next action="Continue" />
- </event>
- </state>
- <state id="unsafe" type="void" />
- </fsm>
|