4664c1de by Skip Hines

Separated Command from Common

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