Ftp.xml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?xml version="1.0" ?>
  2. <!-- $Id: Ftp.xml,v 1.1 2007-06-03 21:27:57 marand Exp $ -->
  3. <fsm fsm_version="1.3"
  4. idle_work="1" allow_actions="1"
  5. init="init" final="unsafe"
  6. revision="$Revision: 1.1 $">
  7. <state id="init">
  8. <event name="CheckParameters" type="boolean">
  9. <next result="true" state="offline" />
  10. <next result="false" state="init" />
  11. </event>
  12. <!--event name="Progress">
  13. <next action="CheckParameters" />
  14. </event-->
  15. </state>
  16. <state id="offline">
  17. <event name="CheckParameters" type="boolean">
  18. <next result="true" state="offline" />
  19. <next result="false" state="init" />
  20. </event>
  21. <event name="Connect" type="boolean">
  22. <next result="true" state="online" />
  23. <next result="false" state="unsafe" />
  24. </event>
  25. <event name="Progress">
  26. <next action="Connect" />
  27. </event>
  28. </state>
  29. <state id="online">
  30. <event name="Close" type="boolean">
  31. <next result="true" state="offline" />
  32. <next result="false" state="unsafe" />
  33. </event>
  34. <event name="Login" type="boolean">
  35. <next result="true" state="live" />
  36. <next result="false" state="unsafe" />
  37. </event>
  38. <event name="Progress">
  39. <next action="Login" />
  40. </event>
  41. </state>
  42. <state id="live">
  43. <event name="Close" type="boolean">
  44. <next result="true" state="offline" />
  45. <next result="false" state="unsafe" />
  46. </event>
  47. <event name="Chdir" type="boolean">
  48. <next result="true" state="ready" />
  49. <next result="false" state="unsafe" />
  50. </event>
  51. <event name="Get" type="int">
  52. <next result="FTP_FINISHED" state="live" />
  53. <next result="FTP_FAILED" state="unsafe" />
  54. <next result="FTP_MOREDATA" state="active" />
  55. </event>
  56. <event name="Put" type="int">
  57. <next result="FTP_FINISHED" state="live" />
  58. <next result="FTP_FAILED" state="unsafe" />
  59. <next result="FTP_MOREDATA" state="active" />
  60. </event>
  61. <event name="Progress">
  62. <next action="Chdir" />
  63. </event>
  64. </state>
  65. <state id="ready">
  66. <event name="Get" type="string">
  67. <next result="FTP_FINISHED" state="live" action="Close" />
  68. <next result="FTP_MOREDATA" state="active" />
  69. <next result="FTP_FAILED" state="unsafe" />
  70. </event>
  71. <event name="Progress">
  72. <next action="Get" />
  73. </event>
  74. </state>
  75. <state id="active">
  76. <event name="close" type="boolean">
  77. <next result="true" state="offline" />
  78. <next result="false" state="unsafe" />
  79. </event>
  80. <event name="Continue" type="int">
  81. <next result="FTP_FINISHED" state="live" action="Close" />
  82. <next result="FTP_FAILED" state="unsafe" />
  83. <next result="FTP_MOREDATA" state="active" />
  84. </event>
  85. <event name="Progress">
  86. <next action="Continue" />
  87. </event>
  88. </state>
  89. <state id="unsafe" type="void" />
  90. </fsm>