summaryrefslogtreecommitdiffstats
path: root/test/uscxml/test-mmi-events.scxml
diff options
context:
space:
mode:
Diffstat (limited to 'test/uscxml/test-mmi-events.scxml')
-rw-r--r--test/uscxml/test-mmi-events.scxml88
1 files changed, 88 insertions, 0 deletions
diff --git a/test/uscxml/test-mmi-events.scxml b/test/uscxml/test-mmi-events.scxml
new file mode 100644
index 0000000..9460a6e
--- /dev/null
+++ b/test/uscxml/test-mmi-events.scxml
@@ -0,0 +1,88 @@
+<scxml datamodel="ecmascript"
+ xmlns:mmi="http://www.w3.org/2008/04/mmi-arch"
+ xmlns="http://www.w3.org/2005/07/scxml">
+ <!--
+ This is a sample implementation for a modality component in the W3C MMI Architecture using SCXML
+ -->
+ <state id="idle">
+ <onentry>
+ <log expr="'Entering idle state'" />
+ <send targetexpr="_ioprocessors['mmihttp'].location">
+ <mmi:PrepareRequest
+ <mmi:content>
+ <scxml datamodel="ecmascript">
+ <state>
+ <onentry>
+ <log expr="" />
+ </onentry>
+ </state>
+ </scxml>
+ </mmi:content>
+ </mmi:PrepareRequest>
+ </send>
+ </onentry>
+
+ <transition event="mmi.prepare.request" target="idle">
+ <log expr="'Received PrepareRequest'" />
+ <mmi:mmi xmlns:mmi="http://www.w3.org/2008/04/mmi-arch" version="1.0">
+ <mmi:PrepareResponse
+ mmi:SourceExpr="_ioprocessors['basichttp'].location"
+ mmi:TargetExpr="someOtherURI"
+ mmi:ContextExpr="someURI"
+ mmi:RequestIDExpr="_event.data.getElementsByTagName('PrepareRequest')[0].getAttribute('RequestID')"
+ mmi:Status="success"/>
+ </mmi:mmi>
+ </transition>
+ <transition event="mmi.start.request" target="running">
+ <log expr="'Received StartRequest'" />
+ </transition>
+ <transition event="mmi.clearcontext.request" target="terminate">
+ <log expr="'Received ClearContextRequest'" />
+ </transition>
+ </state>
+
+ <state id="paused">
+ <onentry>
+ <log expr="'Entering pause state'">
+ </onentry>
+ <transition event="mmi.prepare.request" target="paused">
+ <log expr="'Received PrepareRequest'" />
+ </transition>
+ <transition event="mmi.start.request" target="running">
+ <log expr="'Received StartRequest'" />
+ </transition>
+ <transition event="mmi.resume.request" target="running">
+ <log expr="'Received ResumeRequest'" />
+ </transition>
+ <transition event="mmi.cancel.request" target="idle">
+ <log expr="'Received CancelRequest'" />
+ </transition>
+ <transition event="mmi.clearcontext.request" target="terminate">
+ <log expr="'Received ClearContextRequest'" />
+ </transition>
+ </state>
+
+ <state id="running">
+ <onentry>
+ <log expr="'Entering running state'">
+ </onentry>
+ <transition event="mmi.prepare.request" target="running">
+ <log expr="'Received PrepareRequest'" />
+ </transition>
+ <transition event="mmi.pause.request" target="paused">
+ <log expr="'Received PauseRequest'" />
+ </transition>
+ <transition event="mmi.cancel.request" target="idle">
+ <log expr="'Received CancelRequest'" />
+ </transition>
+ <transition event="mmi.clearcontext.request" target="terminate">
+ <log expr="'Received ClearContextRequest'" />
+ </transition>
+ </state>
+
+ <final id="terminate">
+ <onentry>
+ <log expr="'Entering terminate state'">
+ </onentry>
+ </final>
+</scxml> \ No newline at end of file