185951ff by Michael B. Mathews

Added temporary specs to work with the design topology

1 parent d54dc78a
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <specification xmlns="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd"
4 xmlns:xid="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
7 identity="TensorCommmon.xid">
8 <title>Tensor Commmon Defitions</title>
9 <comment></comment>
10 <artifact></artifact>
11
12 <import ref="http://xid.location.studio/XID/TensorDefinitions.xid" local="TensorDefinitions.xid" />
13
14 <namespace name="Tensor">
15 <struct name="NameValue" >
16 <comment>A string base name value pair entry.</comment>
17 <elem name="name" type="Tensor.string"/>
18 <elem name="value" type="Tensor.string"/>
19 </struct>
20
21 <enum name="ResultCode" type="Tensor.int8" default="undefined">
22 <comment>General processing result codes.</comment>
23 <literal name="success" value="1"/>
24 <literal name="undefined" value="0"/>
25 <literal name="failure" value="-1" />
26 <literal name="busy" value="-2" />
27 <literal name="notprocesssed" value="-3"/>
28 </enum>
29
30 <struct name="VoidType">
31 <comment>Reserved type used in various translations to preserve translation. It has no purpose but as a placeholder.</comment>
32 <elem name="reserved" type="Tensor.uint16" multiplicity="1"/>
33 </struct>
34
35
36 <!--
37 ************************************
38 * Command API Implementation
39 ************************************
40 -->
41 <struct name="Command">
42 <comment>A TPF command structure compatible with the TPF Framework Commander Component.</comment>
43 <elem name="name" type="Tensor.string" multiplicity="1">
44 <comment>The command name including scope specifiers. Convention is to use a '.' as a scope separator
45 such as[component name].[command name].</comment>
46 </elem>
47
48 <elem name="etid" type="Tensor.string" multiplicity="0..1">
49 <comment>
50 Optional external transaction identifier for the caller to uniquely identify and track
51 the command and corresponding results.
52 </comment>
53 </elem>
54
55 <elem name="argument" type="NameValue" multiplicity="0..*">
56 <comment>
57 Each command may have zero or more arguments.
58 They may be name/value or oridinal/value arguments.
59 Both name and value are required.
60 </comment>
61 </elem>
62 </struct>
63
64 <struct name="CommandResponse">
65 <comment>
66 The command response structure containing information resulting from executing the
67 command (success or failure). Check the result code for details on status of executing the
68 command a value of 1 means success, value of 0 is undefined, See ResultCode for other standard
69 result codes. Each operation may define additional codes.
70 </comment>
71 <elem name="name" type="Tensor.string" multiplicity="1">
72 <comment>
73 The command name including scope specifiers. Convention is to use a '.' as a scope separator
74 such as[component name].[command name].
75 </comment>
76 </elem>
77 <elem name="result" type="Tensor.int8" multiplicity="1">
78 <comment>The processing result code. 1 is success, 0 is undefined, -1 is a failure.</comment>
79 </elem>
80
81 <elem name="etid" type="Tensor.string" multiplicity="0..1">
82 <comment>
83 Optional external transaction identifier for the caller to uniquely identify and track
84 the command and corresponding results.
85 </comment>
86 </elem>
87
88 <elem name="output" type="Tensor.string" multiplicity="0..1">
89 <comment>
90 Optional command output stored as a string. Interpeting the output data is dependent upon the
91 command function executed and what data formats are as an encodded string.
92 </comment>
93 </elem>
94 </struct>
95
96 <interface name="CommandApi">
97 <comment>Interface executing commands inside TPF Containers.</comment>
98
99 <operation name="Execute">
100 <comment>
101 Executes the specified command elements. Can specify whether to return responses (default true) or not using wantresponses.
102 </comment>
103 <input name="input" sid="0x0100">
104 <elem name="commands" multiplicity="1..*" type="Command"/>
105 <elem name="wantresponses" multiplicity="1" type="Tensor.bool" default="true"/>
106 </input>
107 <output name="output" sid="0x0101">
108 <elem name="lastcommand" type="Tensor.int8" multiplicity="1">
109 <comment>The index of the last command executed. If this is less than the total number of commands a failure occurred.</comment>
110 </elem>
111 <elem name="lastresult" type="Tensor.int8" multiplicity="1">
112 <comment>The last processing result code. 1 is success, 0 is undefined, -1 is a failure.</comment>
113 </elem>
114 <elem name="responses" type="CommandResponse" multiplicity="1..*">
115 <comment>A command response for each command executed.</comment>
116 </elem>
117 </output>
118 </operation>
119 </interface>
120 </namespace>
121 </specification>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!