Arduino DLNA Server
Loading...
Searching...
No Matches
ms_connmgr.h
Go to the documentation of this file.
1#pragma once
3/*
4<?xml version=\"1.0\"?>
5<scpd xmlns=\"urn:schemas-upnp-org:service-1-0\">
6<specVersion>
7<major>1</major>
8<minor>0</minor>
9</specVersion>
10<actionList>
11<action>
12<name>GetCurrentConnectionIDs</name>
13<argumentList>
14<argument>
15<name>ConnectionIDs</name>
16<direction>out</direction>
17<relatedStateVariable>CurrentConnectionIDs</relatedStateVariable>
18</argument>
19</argumentList>
20</action>
21<action>
22<name>GetCurrentConnectionInfo</name>
23<argumentList>
24<argument>
25<name>ConnectionID</name>
26<direction>in</direction>
27<relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable>
28</argument>
29<argument>
30<name>RcsID</name>
31<direction>out</direction>
32<relatedStateVariable>A_ARG_TYPE_RcsID</relatedStateVariable>
33</argument>
34<argument>
35<name>AVTransportID</name>
36<direction>out</direction>
37<relatedStateVariable>A_ARG_TYPE_AVTransportID</relatedStateVariable>
38</argument>
39<argument>
40<name>ProtocolInfo</name>
41<direction>out</direction>
42<relatedStateVariable>A_ARG_TYPE_ProtocolInfo</relatedStateVariable>
43</argument>
44<argument>
45<name>PeerConnectionManager</name>
46<direction>out</direction>
47<relatedStateVariable>A_ARG_TYPE_ConnectionManager</relatedStateVariable>
48</argument>
49<argument>
50<name>PeerConnectionID</name>
51<direction>out</direction>
52<relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable>
53</argument>
54<argument>
55<name>Direction</name>
56<direction>out</direction>
57<relatedStateVariable>A_ARG_TYPE_Direction</relatedStateVariable>
58</argument>
59<argument>
60<name>Status</name>
61<direction>out</direction>
62<relatedStateVariable>A_ARG_TYPE_ConnectionStatus</relatedStateVariable>
63</argument>
64</argumentList>
65</action>
66<action>
67<name>GetProtocolInfo</name>
68<argumentList>
69<argument>
70<name>Source</name>
71<direction>out</direction>
72<relatedStateVariable>SourceProtocolInfo</relatedStateVariable>
73</argument>
74<argument>
75<name>Sink</name>
76<direction>out</direction>
77<relatedStateVariable>SinkProtocolInfo</relatedStateVariable>
78</argument>
79</argumentList>
80</action>
81<action>
82<name>PrepareForConnection</name>
83<argumentList>
84<argument>
85<name>RemoteProtocolInfo</name>
86<direction>in</direction>
87<relatedStateVariable>A_ARG_TYPE_ProtocolInfo</relatedStateVariable>
88</argument>
89<argument>
90<name>PeerConnectionManager</name>
91<direction>in</direction>
92<relatedStateVariable>A_ARG_TYPE_ConnectionManager</relatedStateVariable>
93</argument>
94<argument>
95<name>PeerConnectionID</name>
96<direction>in</direction>
97<relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable>
98</argument>
99<argument>
100<name>Direction</name>
101<direction>in</direction>
102<relatedStateVariable>A_ARG_TYPE_Direction</relatedStateVariable>
103</argument>
104<argument>
105<name>ConnectionID</name>
106<direction>out</direction>
107<relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable>
108</argument>
109<argument>
110<name>AVTransportID</name>
111<direction>out</direction>
112<relatedStateVariable>A_ARG_TYPE_AVTransportID</relatedStateVariable>
113</argument>
114<argument>
115<name>RcsID</name>
116<direction>out</direction>
117<relatedStateVariable>A_ARG_TYPE_RcsID</relatedStateVariable>
118</argument>
119</argumentList>
120</action>
121</actionList>
122<serviceStateTable>
123<stateVariable sendEvents=\"no\">
124<name>A_ARG_TYPE_ConnectionManager</name>
125<dataType>string</dataType>
126</stateVariable>
127<stateVariable sendEvents=\"yes\">
128<name>SinkProtocolInfo</name>
129<dataType>string</dataType>
130</stateVariable>
131<stateVariable sendEvents=\"no\">
132<name>A_ARG_TYPE_ConnectionStatus</name>
133<dataType>string</dataType>
134<allowedValueList>
135<allowedValue>OK</allowedValue>
136<allowedValue>ContentFormatMismatch</allowedValue>
137<allowedValue>InsufficientBandwidth</allowedValue>
138<allowedValue>UnreliableChannel</allowedValue>
139<allowedValue>Unknown</allowedValue>
140</allowedValueList>
141</stateVariable>
142<stateVariable sendEvents=\"no\">
143<name>A_ARG_TYPE_AVTransportID</name>
144<dataType>i4</dataType>
145</stateVariable>
146<stateVariable sendEvents=\"no\">
147<name>A_ARG_TYPE_Direction</name>
148<dataType>string</dataType>
149<allowedValueList>
150<allowedValue>Input</allowedValue>
151<allowedValue>Output</allowedValue>
152</allowedValueList>
153</stateVariable>
154<stateVariable sendEvents=\"no\">
155<name>A_ARG_TYPE_RcsID</name>
156<dataType>i4</dataType>
157</stateVariable>
158<stateVariable sendEvents=\"no\">
159<name>A_ARG_TYPE_ProtocolInfo</name>
160<dataType>string</dataType>
161</stateVariable>
162<stateVariable sendEvents=\"no\">
163<name>A_ARG_TYPE_ConnectionID</name>
164<dataType>i4</dataType>
165</stateVariable>
166<stateVariable sendEvents=\"yes\">
167<name>SourceProtocolInfo</name>
168<dataType>string</dataType>
169</stateVariable>
170<stateVariable sendEvents=\"yes\">
171<name>CurrentConnectionIDs</name>
172<dataType>string</dataType>
173</stateVariable>
174</serviceStateTable>
175</scpd>\n";
176*/
177
178#include "dlna/xml/XMLPrinter.h"
179
180static void ms_connmgr_xml_printer(Print& out) {
182 XMLPrinter xml(out);
183 xml.printXMLHeader();
184 xml.printNodeBeginNl("scpd", "xmlns=\"urn:schemas-upnp-org:service-1-0\"");
185
186 xml.printNodeBeginNl("specVersion");
187 xml.printNode("major", 1);
188 xml.printNode("minor", 0);
189 xml.printNodeEnd("specVersion");
190
191 xml.printNodeBeginNl("actionList");
192 /* GetProtocolInfo */
193 xml.printNodeBeginNl("action");
194 xml.printNode("name", "GetProtocolInfo");
195 xml.printNodeBeginNl("argumentList");
196 xml.printArgument("Source", "out", "SourceProtocolInfo");
197 xml.printArgument("Sink", "out", "SinkProtocolInfo");
198 xml.printNodeEnd("argumentList");
199 xml.printNodeEnd("action");
200
201 /* GetCurrentConnectionIDs */
202 xml.printNodeBeginNl("action");
203 xml.printNode("name", "GetCurrentConnectionIDs");
204 xml.printNodeBeginNl("argumentList");
205 xml.printArgument("ConnectionIDs", "out", "CurrentConnectionIDs");
206 xml.printNodeEnd("argumentList");
207 xml.printNodeEnd("action");
208
209 /* GetCurrentConnectionInfo */
210 xml.printNodeBeginNl("action");
211 xml.printNode("name", "GetCurrentConnectionInfo");
212 xml.printNodeBeginNl("argumentList");
213 xml.printArgument("ConnectionID", "in", "A_ARG_TYPE_ConnectionID");
214 xml.printArgument("RcsID", "out", "A_ARG_TYPE_RcsID");
215 xml.printArgument("AVTransportID", "out", "A_ARG_TYPE_AVTransportID");
216 xml.printArgument("ProtocolInfo", "out", "A_ARG_TYPE_ProtocolInfo");
217 xml.printArgument("PeerConnectionManager", "out", "A_ARG_TYPE_ConnectionManager");
218 xml.printArgument("PeerConnectionID", "out", "A_ARG_TYPE_ConnectionID");
219 xml.printArgument("Direction", "out", "A_ARG_TYPE_Direction");
220 xml.printArgument("Status", "out", "A_ARG_TYPE_ConnectionStatus");
221 xml.printNodeEnd("argumentList");
222 xml.printNodeEnd("action");
223 xml.printNodeEnd("actionList");
224 xml.printNodeBeginNl("serviceStateTable");
225
226 xml.printNodeBeginNl("stateVariable", "sendEvents=\"yes\"");
227 xml.printNode("name", "SourceProtocolInfo");
228 xml.printNode("dataType", "string");
229 xml.printNodeEnd("stateVariable");
230
231 xml.printNodeBeginNl("stateVariable", "sendEvents=\"yes\"");
232 xml.printNode("name", "SinkProtocolInfo");
233 xml.printNode("dataType", "string");
234 xml.printNodeEnd("stateVariable");
235
236 xml.printNodeBeginNl("stateVariable", "sendEvents=\"yes\"");
237 xml.printNode("name", "CurrentConnectionIDs");
238 xml.printNode("dataType", "string");
239 xml.printNodeEnd("stateVariable");
240
241 xml.printNodeBeginNl("stateVariable", "sendEvents=\"no\"");
242 xml.printNode("name", "A_ARG_TYPE_ConnectionStatus");
243 xml.printNode("dataType", "string");
244 xml.printNodeBeginNl("allowedValueList");
245 xml.printNode("allowedValue", "OK");
246 xml.printNode("allowedValue", "ContentFormatMismatch");
247 xml.printNode("allowedValue", "InsufficientBandwidth");
248 xml.printNode("allowedValue", "UnreliableChannel");
249 xml.printNode("allowedValue", "Unknown");
250 xml.printNodeEnd("allowedValueList");
251 xml.printNodeEnd("stateVariable");
252
253 xml.printNodeBeginNl("stateVariable", "sendEvents=\"no\"");
254 xml.printNode("name", "A_ARG_TYPE_ConnectionManager");
255 xml.printNode("dataType", "string");
256 xml.printNodeEnd("stateVariable");
257
258 xml.printNodeBeginNl("stateVariable", "sendEvents=\"no\"");
259 xml.printNode("name", "A_ARG_TYPE_Direction");
260 xml.printNode("dataType", "string");
261 xml.printNodeBeginNl("allowedValueList");
262 xml.printNode("allowedValue", "Input");
263 xml.printNode("allowedValue", "Output");
264 xml.printNodeEnd("allowedValueList");
265 xml.printNodeEnd("stateVariable");
266
267 xml.printNodeBeginNl("stateVariable", "sendEvents=\"no\"");
268 xml.printNode("name", "A_ARG_TYPE_ProtocolInfo");
269 xml.printNode("dataType", "string");
270 xml.printNodeEnd("stateVariable");
271
272 xml.printNodeBeginNl("stateVariable", "sendEvents=\"no\"");
273 xml.printNode("name", "A_ARG_TYPE_ConnectionID");
274 xml.printNode("dataType", "i4");
275 xml.printNodeEnd("stateVariable");
276
277 xml.printNodeBeginNl("stateVariable", "sendEvents=\"no\"");
278 xml.printNode("name", "A_ARG_TYPE_AVTransportID");
279 xml.printNode("dataType", "i4");
280 xml.printNodeEnd("stateVariable");
281
282 xml.printNodeBeginNl("stateVariable", "sendEvents=\"no\"");
283 xml.printNode("name", "A_ARG_TYPE_RcsID");
284 xml.printNode("dataType", "i4");
285 xml.printNodeEnd("stateVariable");
286
287 xml.printNodeEnd("serviceStateTable");
288
289 xml.printNodeEnd("scpd");
290}
Functions to efficiently output XML. XML data contains a lot of redundancy so it is more memory effic...
Definition: XMLPrinter.h:54