netmsgs
1.2.2
RoadNarrows Robotics Network Messaging Package
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
netmsgs_xml.doxy
Go to the documentation of this file.
1
////////////////////////////////////////////////////////////////////////////////
2
//
3
// Package: netmsgs
4
//
5
// File: netmsgs_xml.doxy
6
//
7
// Description:
8
// This file contains the doxygen directives to generate the RoadNarrows
9
// NetMsgs XML format.
10
//
11
////////////////////////////////////////////////////////////////////////////////
12
13
/*! \file */
14
15
/*!
16
* \defgroup nmxml NetMsgs XML Format
17
* \{
18
19
\section nmxml_intro Introduction
20
The RoadNarrows NetMsgs XML specification defines the message set in XML format.
21
The <netmsgs> element is the root element for XML file. Under it, are three
22
major element sections contains elements to define the format.
23
24
\subsection nmxml_layout XML Basic Layout
25
Below is the high-level structure of a NetMsgs XML specification.
26
\verbatim
27
<netmsgs>
28
<meta>
29
...
30
</meta>
31
<field_types>
32
...
33
</field_types>
34
<msg_types>
35
...
36
</msg_types>
37
</netmsgs>
38
\endverbatim
39
40
\section nmxml_root <NETMSGS> Root Element
41
The requiried, top-level root element.
42
<div style="padding: 5px 20px 0 20px;">
43
<table class="rnr-def">
44
<tr style="color:#0033aa;">
45
<td>Attribute</td><td>Description</td><td>Default</td>
46
</tr>
47
<tr>
48
<td>encoding</td>
49
<td>Message encoding. One of: itv flat.</td>
50
<td>itv</td>
51
</tr>
52
<tr>
53
<td>endian</td>
54
<td>Byte ordering. One of: big little native.</td>
55
<td>big</td>
56
</tr>
57
</table>
58
</div>
59
60
\section nmxml_meta <META> Main Section Element
61
This section defines the meta data needed to generate the language specific
62
source files correctly.
63
\subsection nmxml_meta_brief <BRIEF>
64
Brief description of the messages. Comment including in doxygen file brief
65
comment.
66
\subsection nmxml_meta_ns <NS>
67
Namespace identifier. The namespace id is appended to source generated
68
declarations and definitions.
69
\subsection nmxml_meta_prologue <PROLOGUE>
70
The prologue data is appended to the generated output source file of the
71
given language (sub)type after the file comment block and core include files,
72
and prior to any generated source code.
73
<div style="padding: 5px 20px 0 20px;">
74
<table class="rnr-def">
75
<tr style="color:#0033aa;">
76
<td>Attribute</td><td>Description</td><td>Default</td>
77
</tr>
78
<tr>
79
<td>lang</td>
80
<td>Source (sub)language: One of: h c python.</td>
81
<td>REQUIRED</td>
82
</tr>
83
</table>
84
</div>
85
\subsection nmxml_meta_epilogue <EPILOGUE>
86
The epilogue data is appended to the end of the generated output source file.
87
<div style="padding: 5px 20px 0 20px;">
88
<table class="rnr-def">
89
<tr style="color:#0033aa;">
90
<td>Attribute</td><td>Description</td><td>Default</td>
91
</tr>
92
<tr>
93
<td>lang</td>
94
<td>Source (sub)language: One of: h c python.</td>
95
<td>REQUIRED</td>
96
</tr>
97
</table>
98
</div>
99
100
\section nmxml_field_types <FIELD_TYPES> Main Section Element
101
The field_types section defines ftype extensions to the built-in ftypes.
102
For C, ftype extension are equivalent to typedef's.
103
For python and C++, extensions are derived classes.
104
\subsection nmxml_field_types_ftypedef <FTYPEDEF>
105
This element defines a extended field type.
106
For ftype=struct ftypedef elements, one or more \ref nmxml_fielddef "fielddef"
107
subelements are required.
108
<div style="padding: 5px 20px 0 20px;">
109
<table class="rnr-def">
110
<tr style="color:#0033aa;">
111
<td>Attribute</td><td>Description</td><td>Default</td>
112
</tr>
113
<tr>
114
<td>ftid</td>
115
<td>Unique extended field type identifier.</td>
116
<td>REQUIRED</td>
117
</tr>
118
<tr>
119
<td>ftype</td>
120
<td>Derived or built-in field type value or alias. If '[]' appends the ftype
121
value, then it is vector.
122
<td>REQUIRED</td>
123
</tr>
124
<tr><td>size</td>
125
<td>Maximum number of elements for string or vector type.</td>
126
<td>string: NMFVAL_LEN_MAX_STRING<br>
127
vector: NMFVAL_LEN_MAX_VECTOR</td>
128
</tr>
129
</table>
130
</div>
131
132
\section nmxml_msg_types <MSG_TYPES> Main Section Element
133
The msg_types section defines the message set.
134
135
\subsection nmxml_msg_types_msgdef <MSGDEF>
136
The msgdef element defines a specific message.
137
Zero or more \ref nmxml_fielddef "fielddef" subelements may be specified.
138
<div style="padding: 5px 20px 0 20px;">
139
<table class="rnr-def">
140
<tr style="color:#0033aa;">
141
<td>Attribute</td><td>Description</td><td>Default</td>
142
</tr>
143
<tr>
144
<td>msgid</td>
145
<td>Unique message identifier.</td>
146
<td>REQUIRED</td>
147
</tr>
148
</table>
149
</div>
150
151
\section nmxml_fielddef <FIELDDEF> Element
152
The fielddef element defines a field within a
153
\ref nmxml_field_types_ftypedef "ftypedef"
154
element or a \ref nmxml_msg_types_msgdef "msgdef" element.
155
<div style="padding: 5px 20px 0 20px;">
156
<table class="rnr-def">
157
<tr style="color:#0033aa;">
158
<td>Attribute</td><td>Description</td><td>Default</td>
159
</tr>
160
<tr>
161
<td>fname</td>
162
<td>(Sub)message unique field name identifier.
163
</td>
164
<td>REQUIRED</td>
165
</tr>
166
<tr>
167
<td>ftype</td>
168
<td>Derived or built-in field type value or alias. If '[]' appends the ftype
169
value, then it is vector.
170
</td>
171
<td>REQUIRED</td>
172
</tr>
173
<tr><td>size</td>
174
<td>Maximum number of elements for string or vector type.</td>
175
<td>string: NMFVAL_LEN_MAX_STRING<br>
176
vector: NMFVAL_LEN_MAX_VECTOR</td>
177
</tr>
178
<tr>
179
<td>disposition</td>
180
<td>Disppositon of this field. One of: active deprecated</td>
181
<td>active</td>
182
</tr>
183
</table>
184
</div>
185
\subsection nmxml_fielddef_const <CONST>
186
The data defines the constant value for this field. Applicable only for
187
number or string base field types.
188
\subsection nmxml_fielddef_min <MIN>
189
The data defines the minimum value for this field. Applicable only for
190
number base field types.
191
\subsection nmxml_fielddef_max <MAX>
192
The data defines the maximum value for this field. Applicable only for
193
number base field types.
194
195
\section nmxml_dtd_sect NetMsgs XML DTD
196
\ref nmxml_dtd
197
198
\section nmxml_ex_sect XML Example
199
\ref nmxml_example
200
*/
201
202
/*!
203
*\ingroup nmxml
204
*\defgroup nmxml_dtd DTD
205
*\{
206
The RoadNarrows Document Type Definition for NetMsgs XML is as follows.
207
\include netmsgs.dtd
208
* \} */
209
210
/*!
211
*\ingroup nmxml
212
*\defgroup nmxml_example AstroMsgs.xml XML Example
213
*\{
214
The AstroMsgs.xml example.
215
\include AstroMsgs.xml
216
* \} */
217
218
/* \} */
docs
doxy
netmsgs_xml.doxy
Generated on Fri Aug 10 2018 13:54:11 for netmsgs by
1.8.11
©2018 RoadNarrows LLC
www.roadnarrows.com