1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
<?xml version="1.0" encoding="UTF-8"?>
<!--
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-->
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" name="FtpClient"
datamodel="ecmascript">
<state id="G" initial="I">
<transition event="reply" target="E"/>
<transition event="cmd" target="F"/>
<state id="I">
<transition event="reply.2xx" target="S"/>
</state>
<state id="B">
<transition event="cmd.DELE cmd.CWD cmd.CDUP cmd.HELP cmd.NOOP cmd.QUIT cmd.SYST
cmd.STAT cmd.RMD cmd.MKD cmd.PWD cmd.PORT"
target="W.general"/>
<transition event="cmd.APPE cmd.LIST cmd.NLST cmd.REIN cmd.RETR cmd.STOR cmd.STOU"
target="W.1xx"/>
<transition event="cmd.USER" target="W.user"/>
<state id="S"/>
<state id="F"/>
</state>
<state id="W">
<onentry>
<send eventexpr=""submit." + _event.name">
<param name="params" expr="_event.data"/>
</send>
</onentry>
<transition event="reply.2xx" target="S"/>
<transition event="reply.4xx reply.5xx" target="F"/>
<state id="W.1xx">
<transition event="reply.1xx" target="W.transfer"/>
</state>
<state id="W.transfer"/>
<state id="W.general"/>
<state id="W.user">
<transition event="reply.3xx" target="P"/>
</state>
<state id="W.login"/>
</state>
<state id="P">
<transition event="cmd.PASS" target="W.login"/>
</state>
</state>
<final id="E"/>
</scxml>
|